Java对象的实例化过程
简单类对象的实例化过程:
-
在方法区加载类
-
在栈内存申请空间,声明变量P
-
在堆内存中开辟空间,分配对象地址
-
在对象空间中,对对象的属性进行默认初始化,类成员变量显示初始化
-
构造方法进栈,进行初始化
-
初始化完成后,将堆内存中的地址赋给引用变量,构造方法出栈
子类对象的实例化过程:
-
在方法区先加载父类,再加载子类
-
在栈中申请空间,声明变量P
-
在堆内存中开辟空间,分配对象地址
-
在对象空间中,对对象的属性(包括父类的属性)进行默认初始化
-
子类构造方法进栈
-
显示初始化父类的属性
-
父类构造方法进栈,执行完毕出栈
-
显示初始化子类的属性
-
初始化完毕后,将堆内存中的地址值赋给引用变量P,子类构造方法出栈
本文来自博客园,作者:Schieber,转载请注明原文链接:https://www.cnblogs.com/xiqingbo/p/java-08.html