new SubClass;
(1)
類型為SubClass的一個對象首次創建時,或者SubClass類的static 方法/static 字段首次訪問時,Java 解釋器
必須找到SubClass.class(在事先設好的類路徑里搜索)。
(2)
找到SubClass.class 后(它會創建一個Class 對象),它的所有static 初始化模塊都會運
行。因此,static 初始化僅發生一次——在Class 對象首次載入的時候。
(3)
創建一個new SubClass()時,SubClass對象的構建進程首先會在內存堆(Heap)里為一個SubClass 對象分配足夠多的存
儲空間。
(4)
這種存儲空間會清為零,將SubClass中的所有基本類型設為它們的默認值(零用于數字,以及boolean 和
char
的等價設定)。
(5) 調用基礎類構建器。這個步驟會不斷重復下去,首先得到構建的是分級結構的根部,然后是下一個衍生類,等等。直到抵達最深一層的衍生類SubClass。
(6) 按聲明順序調用成員初始化模塊。
(7) 調用衍生構建器的主體。