在物件導向程式設計(OOP)中,建構子(constructor)是一種特殊的方法,主要用於初始化新創建的對象。當創建對象時,建構子會自動被呼叫,它能夠設定對象成員變量的初始值,或者執行任何啟動對象所需的準備工作。建構子的特性包括:
1. 名稱與類相同
建構子的名稱必須與其所在的類名稱完全相同,且不定義返回類型,即使是void也不寫。
2. 自動呼叫
當通過new關鍵字創建類的新實例時,建構子會自動被呼叫。每次創建對象實例時,至少會呼叫一次建構子。
3. 不可被繼承
建構子不能被繼承,這意味著子類不能直接繼承父類的建構子。然而,子類可以通過super關鍵字來呼叫父類的建構子。
4. 重載
建構子可以被重載,這意味著一個類可以有多個建構子,只要它們的參數列表不同(參數的數量或類型不同)。
5. 無法直接呼叫
除了在創建對象或在其它建構子中使用super或this關鍵字時,建構子不能被直接呼叫。
實例
假設有一個Person類,它可能包含一個建構子來初始化Person對象的姓名和年齡:
java
public class Person {
String name;
int age;
// Person 類的建構子
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
在這個例子中,Person類的建構子接受姓名和年齡作為參數,並用它們來初始化對象的name和age屬性。當創建一個新的Person對象時,如new Person("Alice", 30),Person類的建構子會被自動呼叫以設定對象的初始狀態。
建構子提供了一種方便的方法來確保對象在使用前已被適當地初始化,這有助於減少錯誤和增加代碼的可讀性與維護性。