建構函式

建構函式是以類命名而沒有返回型別的特殊方法,用於構造物件。建構函式與方法一樣,可以使用輸入引數。建構函式用於初始化物件。抽象類也可以有建構函式。

public class Hello{
    // constructor
    public Hello(String wordToPrint){
        printHello(wordToPrint);
    }
    public void printHello(String word){
        System.out.println(word);
    }
}
// instantiates the object during creating and prints out the content
// of wordToPrint

重要的是要理解建構函式在幾個方面與方法不同:

  1. 建構函式只能使用修飾符 publicprivateprotected,並且不能宣告為 abstractfinalstaticsynchronized

  2. 建構函式沒有返回型別。

  3. 建構函式必須與類名相同。在 Hello 示例中,Hello 物件的建構函式名稱與類名稱相同。

  4. this 關鍵字在建構函式中有一個額外的用法。this.method(...) 呼叫當前例項上的方法,而 this(...) 引用當前類中具有不同簽名的另一個建構函式。

也可以使用關鍵字 super 通過繼承呼叫建構函式。

public class SuperManClass{

    public SuperManClass(){
        // some implementation
    }
    
    // ... methods
}

public class BatmanClass extends SupermanClass{
    public BatmanClass(){
        super();
    }
    //... methods...
}

請參閱 Java 語言規範#8.8#15.9