在Java 中從另一個構造函數呼叫一個構造函數
在Java 中,可以從同一類中的另一個構造函數呼叫構造函數。這在各種場景中都很有用,例如使用父建構函數提供的值初始化物件或根據特定條件自訂物件的狀態。
要從另一個建構子呼叫建構函數,只要使用this 關鍵字後面接著另一個建構子的名稱及其參數,如下例所示:
public class Foo { private int x; public Foo() { this(1); // Call the Foo(int x) constructor with the value 1 } public Foo(int x) { this.x = x; } }
在此範例中,預設建構子Foo() 使用值為1 呼叫Foo(int x) 建構子。因此,當建立 Foo 物件時未指定任何參數時,其 x 欄位將自動設為 1。
需要注意的是您只能連結到一個建構函數,而此呼叫必須是建構函數主體中的第一個語句。此外,如果您需要從超類別呼叫建構函數,請使用 super 而不是 this。
例如,考慮以下場景:
public class Animal { private String name; public Animal(String name) { this.name = name; } public Animal() { this("Default Animal"); // Call the Animal(String name) constructor with the default name "Default Animal" } }
在這種情況下,兩個建構函數(一個帶參數,一個不帶參數)都使用以下參數來呼叫超類別 建構子分別是name 參數或預設值。這允許您初始化所有 Animal 物件的 name 屬性。
透過利用從另一個建構函式呼叫一個建構函式的能力,開發人員可以透過可自訂的物件初始化來建立複雜的類別層次結構,並確保新建立的物件具有一致且可預測的狀態物體。
以上是在 Java 中如何從一個建構函式呼叫另一個建構函式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!