在Java中,當創建一個子類的實例時,構造順序遵循以下規則:
首先,調用父類(超類)的構造方法。如果父類有多個構造方法,可以選擇使用super()
關鍵字顯式調用某個特定的構造方法。如果沒有顯式調用super()
,編譯器會自動插入一個無參數的super()
調用。
然后,執行父類的構造方法體中的代碼。
接下來,調用子類的構造方法。如果子類有多個構造方法,可以選擇使用this()
關鍵字顯式調用某個特定的構造方法。如果沒有顯式調用this()
,編譯器會自動插入一個無參數的this()
調用。
最后,執行子類的構造方法體中的代碼。
以下是一個簡單的示例:
class Parent {
Parent() {
System.out.println("Parent constructor called");
}
}
class Child extends Parent {
Child() {
super(); // 顯式調用父類的構造方法
System.out.println("Child constructor called");
}
}
public class Main {
public static void main(String[] args) {
Child child = new Child();
}
}
輸出結果:
Parent constructor called
Child constructor called
總結:在創建子類實例時,首先調用父類的構造方法,然后執行子類的構造方法。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。