【对象】
1.对象的理解
由类创建对象的过程为类的实例化,任何一个对象都是某个类的实例。例如建筑设计图纸是类,那么根据图纸建造出的房子就是类的一个实例或对象。
2.对象的声明
对象声明格式: 类名 对象变量名;
其中,类名为引用类型(包括类、接口和数组)。声明不为对象分配空间,只为引用型变量分配一个空间,用来存放引用值。
例:Humankind zhangSan,liSI;
其中Humankind是已经定义的类,zhangSan、liSi为引用变量。
引用型变量存储一个对象的引用值,不是对象本身。但对对象的实例变量的访问以及对对象的实例方法的调用必须通过该引用值进行。例如,通过引用变量zhangSan可以访问张三对象的name\sex\age成员变量以及speak\work成员方法。
在java中,引用型变量就相当于指针变量,引用值就相当于变量的地址。引用类型变量只存储某个对象的引用值,不存储对象本身。
3.对象的创建与初始化
理解:给对象分配内存空间的过程就是类的实例化,即对象的创建。为对象中变量赋初值的过程称为对象的初始化。
对于一个已经定义的类,可以使用实例创建表达式来创建并初始化这个类的实例。
实例创建表达式的一般格式:new 类名([实参表]);
其具体功能包括:
- 为实例分配内存空间
- 初始化实例变量
- 返回该实例的引用值
例如:创建zhangSan对象的过程如下
HumanKind zhangSan;
zhangSan=new HumanKind();
合并为一步,即 HumanKind zhangSan=new HumanKind();
一个类的不同对象分别占据不同的内存空间,因此,改变一个对象的状态不会影响其他对象的状态。
4.对象的引用和清除
对象的使用原则:先创建后使用。
使用对象的方法:通过运算符“.”访问对象的各个成员变量和成员方法,进行各种处理。
引用成员变量的格式为:对象变量名.成员变量名
引用成员方法的格式为:对象变量名.成员方法名([参数表]);
对象的清除:指当不存在对某一对象的引用时,就释放该对象所占用的内存空间。
一个对象失去一个变量对其的引用,通常有3种情况。
- 一个变量由引用某个对象变成引用另一个对象。
- 一个引用某个对象的变量被显示设置为null。
- 一个引用某个对象的变量超出了其作用域的范围而释放。
总结:在java语言中,一个对象是有生命周期的,它包括创建、引用(使用)和清除3个阶段。创建阶段主要包括对象的声明、实例化和初始化。使用阶段应遵循“先创建后使用”的原则;清除阶段是释放对象所占的内存。