Java:对象初始化过程

先看下面的代码图 

Java:对象初始化过程

注意:

1.对象已经创建,否则this.name会出现错误

2.已经存在了,否则this.name会出现错误

3.程序运行结果先输出张三,然后输出李四,可见一定先调用非静态代码块,再调用构造函数,并且调用非静态代码块时所创建对象的实例属性值为初始化值,或者是默认值(如果没有初始化)

 

用new创建并初始化对象步骤:


1.给对象的实例变量(非“常量”)分配内存空间,默认初始化成员变量;


2.成员变量声明时的初始化;


3.初始化块初始化(又称为构造代码块或非静态代码块);


4.构造方法初始化

 

Java:对象初始化过程

 

Java:对象初始化过程

蓝框框起的代码运行后,对象初始化过程如下图示:

1.给对象的实例变量分配空间,默认初始化成员变量

2.成员变量声明时的初始化

3.初始化块初始化

4.参构造方法初始化

Java:对象初始化过程