<分区>
//Filename: A.java
package packageA;
public class A {
protected int x;
}
//Filename B.java
package packageB;
import packageA.A;
public class B extends A {
void action(A ob1, B ob2, C ob3) {
x = 10;
ob1.x = 10; // <-- error here
ob2.x = 10;
ob3.x = 10;
}
public class C extends B {
void action(A ob1, B ob2, C ob3) {
x = 10;
ob1.x = 10; // <-- error here
ob2.x = 10; // <-- error here
ob3.x = 10;
}
所以,我在阅读 Java 中的 protected 用法时遇到了这个问题。
A.java
和 B.java
是单独的文件,如您所见,保存在单独的包中。编译 B.java
时,我得到 3 个错误,表明 x
在 A
中具有 protected 访问权限。有人可以解释为什么即使在扩展类 A
之后我仍会出错吗?