중복된 초기화 코드 작성을 피하기 위해 한 생성자의 코드를 다른 생성자에서 호출해야 하는 경우가 많습니다.
다음은 이를 수행하는 방법의 예입니다.
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