나는 분명히이에 분명하지만, 주어진 누락 : java protected 이것이 비 상속을 통해 작동하는 이유는 무엇입니까?
package a;
public class Class1 {
protected int a=1;
}
package b;
import a.*;
public class Class2 extends Class1 {
Class2() {
Class1 c1=new Class1();
Class2 c2=new Class2();
System.out.println(a); //1
System.out.println(c1.a); //2
System.out.println(c2.a); //3
}
}
내가 // 1이 때문에 상속을 통해 사용에 괜찮 알고는 상속을 통해 액세스되지 않는 있기 때문에 //이 실패하지만, 이유를 // 3 ok? 나는 변수 a가 새로운 객체를 통해 액세스되고 Class1에 상주한다고 생각 했습니까?
감사합니다.
은 실제 질문과 관련이 없지만이 생성자를 호출하면 'StackOverflowError'가 발생합니다. – jlordo
예, 감사합니다. 나는 그것을 메인에 놓았지만 코드 줄 수를 줄이고 줄에 넣을 수 있도록했다 // 1 :) –