簡單類對象的實例化過程:
-
在方法區加載類
-
在棧內存申請空間,聲明變量P
-
在堆內存中開辟空間,分配對象地址
-
在對象空間中,對對象的屬性進行默認初始化,類成員變量顯示初始化
-
構造方法進棧,進行初始化
-
初始化完成后,將堆內存中的地址賦給引用變量,構造方法出棧
子類對象的實例化過程:
-
在方法區先加載父類,再加載子類
-
在棧中申請空間,聲明變量P
-
在堆內存中開辟空間,分配對象地址
-
在對象空間中,對對象的屬性(包括父類的屬性)進行默認初始化
-
子類構造方法進棧
-
顯示初始化父類的屬性
-
父類構造方法進棧,執行完畢出棧
-
顯示初始化子類的屬性
-
初始化完畢后,將堆內存中的地址值賦給引用變量P,子類構造方法出棧