子類的例項化主要分為兩個步驟:
<1>.類相關靜態內容初始化;
*先父類再子類:
1.父類的static屬性;
2.父類的static塊;
3.子類的static屬性;
4.子類的static塊;
<2>.類的例項內容初始化;
*呼叫構造子:先父類後子類:構造子呼叫之前先例項化例項欄位和塊
5.父類的普通屬性;
6.父類的普通塊;
7.父類的構造子;
8.子類的普通屬性;
9.子類的普通塊;
10.子類的構造子;
舉例:
package basic;
public class clzinit
}class parent
public parent()
}class son extends parent
public son()
}
看輸出結果,可見端倪:
父類靜態塊呼叫; m=10備忘。歡迎各位指正!子類靜態塊呼叫; m=12
父類普通塊呼叫;n=10 m=24
父類構造子; n=100 m=34
子類普通塊呼叫;
n=102sn=5 m=36
子類構造子;n=112 m=46
Java 初始化過程
初始化過程 載入器啟動並且找出匯出類derived的編譯 即名為derived.class的檔案之中 在對它載入的過程中,編譯器注意到它有乙個基類,於是繼續進行基類的載入 基類中的static變數初始化,然後是匯出類的static 如果乙個成員被宣告為 static,它就能夠在它的類的任何物件建立之...
java 初始化過程
初始化的過程 static靜態塊 父類的靜態塊 子類的靜態塊 父類的初始化塊 父類的建構函式 子類的初始化塊 子類的建構函式 舉例說明 class helloa static public class hellob extends helloa static public static void m...
類初始化和例項初始化過程
類初始化過程 乙個類要建立例項需要先載入並初始化該類 main方法所在的類需要先載入和初始化 乙個子類要初始化需要先初始化父類 乙個類初始化就是執行 方法 由靜態類變數賦值 和靜態 塊組成 靜態類變數賦值 和靜態 塊從上往下執行 方法只執行一次 例項初始化過程 例項初始化就是執行 方法 方法可能過載...