首页 理论教育 对象的创建与初始化

对象的创建与初始化

时间:2022-02-28 理论教育 版权反馈
【摘要】:为对象中变量赋初值的过程称为对象的初始化。实例创建表达式的一般格式如下:注:第①行表明,在内存中,为引用变量zhangSan分配了空间,但没有生成张三对象。第②行表明,生成张三对象,在内存中为张三对象分配了空间,初始化了张三对象的实例变量:将成员变量的默认初始值赋给name、sex、age、height、avoirdupois,并将对象的引用值赋给引用变量zhangSan。zhangSan对象和liSi对象分别占据不同的内存空间,改变其中一个对象的状态不会影响另一个对象的状态。

4.3.2 对象的创建与初始化

给对象(实例)分配内存空间的过程就是类的实例化,即创建对象。为对象中变量赋初值的过程称为对象的初始化。

对于一个已经定义的类,可以使用实例创建表达式来创建并初始化这个类的实例。实例创建表达式的一般格式如下:

new类名([实参表]);

实例创建表达式用于创建指定类的一个实例。其具体功能包括:

(1)为实例分配内存空间;

(2)初始化实例变量;

(3)返回该实例的引用值。

例如,根据例4-1,创建zhangSan对象的过程如下:

①Humankind zhangSan;

②zhangSan=new Humankind();

注:第①行表明,在内存中,为引用变量zhangSan分配了空间,但没有生成张三对象。第②行表明,生成张三对象,在内存中为张三对象分配了空间,初始化了张三对象的实例变量:将成员变量的默认初始值赋给name(null)、sex(′\u0000′)、age(0)、height(0)、avoirdupois(0.0F),并将对象的引用值赋给引用变量zhangSan。

也可以将两步合并为一步:

Humankind zhangSan=new Humankind();

同理,创建liSi对象的过程如下:

Humankind liSi=new Humankind();

一个类的不同对象分别占据不同的内存空间,因此,改变一个对象的状态不会影响其他对象的状态。zhangSan对象和liSi对象分别占据不同的内存空间,改变其中一个对象的状态不会影响另一个对象的状态。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈