建立衍生類別物件時,建構子的執行順序為:基底類別建構子、衍生類別物件成員建構子、衍生類別本身的建構子。物件建立時,程式碼的載入順序是:靜態程式碼、非靜態程式碼、建構方法。
建立衍生類別物件時,建構函數的執行順序是:基底類別建構函數,衍生類別物件成員建構函數,衍生類別本身的建構子。
(推薦教學:java入門程式)
詳細介紹:
物件建立時程式碼的載入順序為:靜態程式碼-->非靜態程式碼--> 建構方法。
若繼承了父類,則載入順序為:父類的靜態的代碼--> 子類的靜態的代碼--> 父類內部非靜態代碼--> 父類的建構方法--> 子類別的非靜態程式碼--> 子類別的建構方法。
其中,靜態程式碼包括(靜態方法,靜態變量,靜態程式碼區塊等),非靜態程式碼即(成員方法,成員變量,成員程式碼區塊等),同一種程式碼,寫在上面的先載入.
(影片教學推薦:java影片教學)
實例:
public class ExtendsTest { public static void main(String[] args) { // TODO Auto-generated method stub C c = new D(); } } class C { static { System.out.println("C 基类静态域 "); } { System.out.println("C 基类对象成员构造函数"); } public C() { System.out.println("C 基类本身的构造函数"); } } class D extends C { static { System.out.println("D 派生类静态域"); } { System.out.println("D 派生类对象成员构造函数"); } public D() { System.out.println("D 派生类本身的构造函数"); } }
輸出結果:
以上是在建立衍生類別物件時,建構函數的執行順序是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!