나는이 다음 코드와 오류가 점점 오전에 과부하는 생성자 자바
오류 : x를 참조 할 수 없습니다 슈퍼 생성자 호출 (및 주석 1에서 문을 지적)
class Con{
int x =10;
Con(){
this(++x); //1
System.out.println("x :"+x);
}
Con(int i){
x=i++;
System.out.println("x :"+x);
}
}
되기 전에
주요 방법 나는이 문장
Con c1=new Con();
내가 오류를 이해하지 못하고 있습니다. 누군가 여기서 실제로 일어나고있는 것을 설명 할 수 있습니까?
나는 그것이 무엇을 의미 하는지를 의미합니다. super()를 호출 할 때까지 x를 참조 할 수 없습니다. 일반적으로 이것은 암묵적으로 발생하지만,'this' 호출이 있기 때문에'super' 호출은 억제됩니다. 나는 당신이 원하는 것을 할 수있는 방법을 조금 생각하지 않고서는 생각할 수 없다. –
this()를 생성자 내에서 호출하는 용도는 무엇입니까? 누군가 설명 할 수 있습니까? 나는 이것을 (...) 호출하는 매개 변수화 된 생성자로 상황을 생각할 수있다. –
@boxed__l this()는 동일한 클래스에있는 오버로드 된 생성자를 호출하는 데 사용됩니다. 4 개의 매개 변수를 사용하는 호출 된 생성자가 있지만 2 개의 필드에 이미 초기화를 수행하는 다른 생성자가 있습니다.이 경우에는이 함수를 사용해야합니다. (x, y) 두 인수의 생성자를 호출한다. – Algorithmist