執行結果情況太多就不貼了/*
測試3個內容:
類載入順序
子父類執行過程
物件初始化過程
從幾次試驗我們看到
當執行到類時,類被載入到記憶體,並初始化
靜態成員被載入到共享區
不用例項化物件就可以呼叫靜態資源
靜態成員變數,靜態成員方法,靜態**塊,只初始化一次
而普通變數,普通**塊,構造方法,在每次例項化物件時都要初始化
子類物件要初始化時,
會先初始化父類靜態成員和靜態**塊,
再初始化子類靜態成員和靜態**塊,
然後是父類普通**塊,父類構造方法
然後是子類普通**塊,子類建構函式
當子類名直接呼叫繼承自父類的靜態成員時,子類不會初始化,而只初始化父類(因為這已經足夠了)
補充:子類的所有構造方法中,如果未指定父類構造方法,則第一條語句是隱式的super(),即父類的空引數構造方法*/
class fu //父類
static
}class zi extends fu //子類
public zi()
static }
class demo
}
JAVA類初始化過程
輸入結果為 乙個類要建立例項需要先載入並初始化該類 main方法所在的類需要先載入和初始化 乙個子類要初始化需要先初始化父類 乙個類初始化就是執行 方法 方法由靜態類變數顯示賦值 和靜態 塊組成 類變數顯示賦值 和靜態 塊 從上到下順序執行 方法只執行一次 a,例項初始化就是執行 方法 方法可能過載...
Java類的初始化過程
1.首先,初始化父類中的靜態成員變數和靜態 塊 jvm載入類時執行,僅執行一次 按照在程式中出現的順序初始化 2.然後,初始化子類中的靜態成員變數和靜態 塊 jvm載入類時執行,僅執行一次 按照在程式中出現的順序初始化 3.其次,初始化父類中的普通成員變數和 塊 每一次建立物件時建立 再執行父類的構...
Java 初始化過程
初始化過程 載入器啟動並且找出匯出類derived的編譯 即名為derived.class的檔案之中 在對它載入的過程中,編譯器注意到它有乙個基類,於是繼續進行基類的載入 基類中的static變數初始化,然後是匯出類的static 如果乙個成員被宣告為 static,它就能夠在它的類的任何物件建立之...