建構函式
建構函式是以類命名而沒有返回型別的特殊方法,用於構造物件。建構函式與方法一樣,可以使用輸入引數。建構函式用於初始化物件。抽象類也可以有建構函式。
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
重要的是要理解建構函式在幾個方面與方法不同:
-
建構函式只能使用修飾符
public
,private
和protected
,並且不能宣告為abstract
,final
,static
或synchronized
。 -
建構函式沒有返回型別。
-
建構函式必須與類名相同。在
Hello
示例中,Hello
物件的建構函式名稱與類名稱相同。 -
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