ThinkingInJava——成员初始化

来源:互联网 发布:不出门便知天下事言语 编辑:程序博客网 时间:2024/06/02 04:15

Java尽量保证所有变量在使用前都能得到恰当的初始化。

一、成员初始化

类的每一个数据成员都有一个默认初始值,如果在类里定义了一个对象引用时,不将其初始化,此引用将会获得一个特殊值null。

数组也会初始化

二、初始化顺序

在类的内部,变量的先后顺序决定了初始化的顺序。即使变量定义散布于方法定义之间,它们仍旧会在任何方法(包括构造器)被调用之前得到初始化。

三、对象的创建过程

(1)定位Dog.class文件

Java解释器查找类路径,定位Dog.class文件。

(2)载入Dog.class文件

将创建一个Class对象,有关静态初始化的所有动作都会执行。因此,静态初始化只在首次加载的时候进行一次

(3)在堆上分配足够存储空间

(4)存储空间清零

(5)执行所有出现于字段定义处的初始化动作

(6)执行构造器

0 0