輸入結果為
乙個類要建立例項需要先載入並初始化該類( main方法所在的類需要先載入和初始化 )
乙個子類要初始化需要先初始化父類
乙個類初始化就是執行()方法
()方法由靜態類變數顯示賦值**和靜態**塊組成
類變數顯示賦值**和靜態**塊**從上到下順序執行
()方法只執行一次
a,例項初始化就是執行()方法
()方法可能過載有多個,有幾個構造器就有幾個方法
()方法由非靜態例項變數顯示賦值**和非靜態**塊、對應構造器**組成
非靜態例項變數顯示賦值**和非靜態**塊**從上到下順序執行,而對應構造器的**最後執行
每次建立例項物件,呼叫對應構造器,執行的就是對應的方法
方法的首行是super()或super(實參列表),即對應父類的方法
哪些方法不可以被重寫
final方法
靜態方法
private等子類中不可見方法
物件的多型性
子類如果重寫了父類的方法,通過子類物件呼叫的一定是子類重寫過的**
非靜態方法預設的呼叫物件是this
this物件在構造器或者說方法中就是正在建立的物件
java類初始化過程
測試3個內容 類載入順序 子父類執行過程 物件初始化過程 從幾次試驗我們看到 當執行到類時,類被載入到記憶體,並初始化 靜態成員被載入到共享區 不用例項化物件就可以呼叫靜態資源 靜態成員變數,靜態成員方法,靜態 塊,只初始化一次 而普通變數,普通 塊,構造方法,在每次例項化物件時都要初始化 子類物件...
Java類的初始化過程
1.首先,初始化父類中的靜態成員變數和靜態 塊 jvm載入類時執行,僅執行一次 按照在程式中出現的順序初始化 2.然後,初始化子類中的靜態成員變數和靜態 塊 jvm載入類時執行,僅執行一次 按照在程式中出現的順序初始化 3.其次,初始化父類中的普通成員變數和 塊 每一次建立物件時建立 再執行父類的構...
Java 初始化過程
初始化過程 載入器啟動並且找出匯出類derived的編譯 即名為derived.class的檔案之中 在對它載入的過程中,編譯器注意到它有乙個基類,於是繼續進行基類的載入 基類中的static變數初始化,然後是匯出類的static 如果乙個成員被宣告為 static,它就能夠在它的類的任何物件建立之...