通常,为了避免编写重复的初始化代码,有必要从一个构造函数调用另一个构造函数的代码。
以下是如何完成此操作的示例:
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