第2章 类与对象

类:

一些有着相同特点对象的抽象化,可以包括对象的属性、方法(行为).

  语法实现:

 1   public class 类名{
 2     //类所具有的属性特点
 3     访问权限 数据类型 变量名 5     //类所能实现的方法
 6     修饰符 返回值的类型 方法名(参数){
 7 //方法体实现
 8 }
 9   
10 
11 }

 

对象:

对一个类进行实例化,也就是照着类创建一个对象.就像是照着设计图纸设计产品,设计图纸就是类,生产出来的产品就是对象了.

对象的实例化:

 

类名 对象名=new 类名();

 对象访问属性和方法的语法:

对象名.属性名;
对象名.方法名(方法所需的参数);

 

基本数据类型和引用数据类型:

 基本数据类型有:

   数值型:byte、short、int、long、float、double.

    字符型:char

    布尔型:boolean

  除了这些基本类型外,其他java数据;类型和自定义的数据类型都是引用数据类型.

基本数据类型(值类型)的数据存储在栈内存中.而引用数据类型在堆内存中.

 

基本数据类型与引用数据类型的参数传递:详细见书上P17-19页

  当基本类型作为参数传递时,在方法中对形参的修改并不会影响实参的值.

  因为当读取到main方法时,会在栈内存中开辟一个main栈帧,用在main函数中创建的基本类型变量调用方法函数中,会在栈内存中再创建所调用的方法栈帧,只是在那个方法的栈帧中修改了基本类型变量的值,而在main方法的栈帧中的基本类型变量值出头到尾都没有修改过.

 

  引用数据类型的参数传递:

  当引用类型作为参数传递时,在方法中对形参的修改,会修改实参的值.

  一开始读取到main方法,在栈内存中开辟一个main栈帧,因为是引用类型变量,所以会在堆内存中开辟内存空间存储,然后调用方法,在栈内存中再开辟一个方法栈帧,传入给这个方法的是引用类型变量的堆地址,因此,实参和形参都指向的是一个堆内存空间,执行了这个方法,修改对应的引用类型变量,然后弹出,修改的都是同一个堆内存之中的变量.

 

 

  课后题目:

  基本数据类型和引用数据类型的数据存储有何区别?

  基本数据类型存储在栈内存,而引用数据类型存储在堆内存,这会造成在调用方法时,将基本数据类型作为参数,不会修改原有实参的值,而将引用数据类型作为方法的参数,会修改原有实参的值.

 

  类和对象的区别是什么?

  类是对象的抽象化,描绘着对象的特征、行为,而对象是类的实例化.类和对象的关系就像是制造图纸和产品的关系一样,制造图纸有着产品的细节、功能,产品按照制造图纸所描述的去生产.

posted @ 2021-06-12 14:48  况况况  阅读(36)  评论(0编辑  收藏  举报