通常,為了避免編寫重複的初始化程式碼,有必要從一個建構函數呼叫另一個建構函數的程式碼。
以下是如何完成此操作的範例:
public class SomeClass {
int a;
int b;
int c;
public SomeClass(int a, int b){
this.a = a;
this.b = b;
}
public SomeClass(int a, int b, int c){
// Вызов конструктора с двумя параметрами.
this(a, b);
this.c = c;
}
public void show(){
System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("c = " + c);
}
}
正如您所看到的,為此我們使用關鍵字this
,之後我們在括號中指示對應建構函數的參數(在本例中有兩個參數)。您可以從同一類別或超類別中的另一個建構函數呼叫一個建構函數,但有以下限制:
- 要呼叫的建構函式必須位於呼叫建構函式中的第一行程式碼。
- 巢狀建構函數不能有對“this”的任何顯式或隱式引用。所以無法進入內部類別。
GO TO FULL VERSION