1,加载。class文件,进方法区,并进行空间分配。
2,如果有静态变量,先默认初始化,然后再显示初始化。
3.如果有静态代码段,要执行,且仅执行一次。
4,通过new在堆内存中开辟空间,并明确首地址。
5,对对象中的属性,进行默认初始化。
6.调用对应的构造函数,进行初始化。
7,构造函数内部初始化:
7.1,调用父类构造函数super();
7.2,成员变量的显示初始化。
7.3,构造代码块初始化。
7.4,构造函数内容自定义内容初始化。
8.对象初始化完毕后,将地址赋值给对象的引用变量。
构造函数中的隐式部分:
Demo(){
//1,super();//访问父类中的构造函数,
//2,成员变量的显示初始化。
//3,构造代码快初始化。
代码.....
} |
|