我知道这个问题在这个论坛里已经被问过,但是我想再问一次,因为目前我还没有看到好的答案。
以下是要翻译的内容:
以下是要翻译的内容:
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中对于超类对象的访问受到此限制背后的逻辑是什么?
谢谢。