아마도 조금 혼란 스러울 것입니다.
여기 내 빠른 데모입니다 및 보호 속성을 액세스하는 간접적 인 서브 클래스를 보여줍니다
는
// A.java
package a;
public class A {
protected int a;
}
// B.java
package b; //<-- intermediate subclass
import a.A;
public class B extends A {
}
// C.java
package c; //<-- different package
import b.B;
public class C extends B { // <-- C is an indirect sub class of A
void testIt(){
a++;
System.out.println(this.a);//<-- Inherited from class A
}
public static void main(String [] args) {
C c = new C();
c.testIt();
}
}
그것은 당신이 볼 때, 속성 a
이 서브 클래스 C
에서 액세스 할 수있는 1
를 인쇄합니다.
우리가 시도하는 코드를 표시하면 혼란이 어디에서 발생하는지 파악할 수 있습니다.
어떤 코드 샘플? – OscarRyz
구체적인 예를들 수 있다면 어떤 의미인지 쉽게 알 수 있습니다. –
그는 어셈블리 a1에 클래스 a가 있음을 의미합니다. 이 클래스에는 보호 된 멤버가 있습니다. 그러나, 그는 어셈블리 a2를 확장하는 클래스 b에서 보호 된 멤버에 액세스 할 수 없다고 생각합니다. –