简单类对象的实例化过程
1、在方法区加载类;
2、在栈内存申请空间,声明变量P;
3、在堆内存中开辟空间,分配对象地址;
4、在对象空间中,对对象的属性进行默认初始化,类成员变量显示初始化;
5、构造方法进栈,进行初始化;
6、初始化完成后,将堆内存中的地址赋给引用变量,构造方法出栈;
子类对象的实例化过程
1、在方法区先加载父类,再加载子类;
2、在栈中申请空间,声明变量P;
3、在堆内存中开辟空间,分配对象地址;
4、在对象空间中,对对象的属性(包括父类的属性)进行默认初始化;
5、子类构造方法进栈;
6、显示初始化父类的属性;
7、父类构造方法进栈,执行完毕出栈;
8、显示初始化子类的属性;
9、初始化完毕后,将堆内存中的地址值赋给引用变量P,子类构造方法出栈;