我知道这个论坛之前已经问过这个问题,但我会再问一次,因为我没有看到任何好的答案(到目前为止)。
它是这样的:
package a;
public class A{
protected int a;
}
package b;
public class B extends A{
}
package c;
public class C extends B{
public void accessField(){
A ancient = new A();
ancient.a = 2; //A - That wouldn't work.
a = 2; //B - That works.
}
}
为什么条款 A) 不起作用?在子类 C 中限制超类对象古代访问的原因是什么?
谢谢。