首頁 >Java >java教程 >在 Java 中如何從一個建構函式呼叫另一個建構函式?

在 Java 中如何從一個建構函式呼叫另一個建構函式?

Barbara Streisand
Barbara Streisand原創
2024-12-31 05:41:09998瀏覽

How Can I Call One Constructor from Another in Java?

在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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn