我正在学习 java 中的访问级别,并创建了 3 个类: 在包 my.inheritance 中,我有 A 类和 C 类
package my.inheritance;
public class A {
protected int a=15;
}
package my.inheritance;
public class C {
public static void main(String[] args)
{
A a = new A();
System.out.println(a.a);
}
}
在另一个名为 my.inheritance.test 的包中,我有一个 B 类试图访问 int 值 a 的受保护字段,但编译器为此抱怨!
package my.inheritance.test;
import my.inheritance.A;
public class B extends A{
public static void main(String[] args)
{
A a = new A();
int value = a.a;
System.out.println(value);
}
}
我的印象是受保护的你可以访问来自不同包中不同类的成员,只要你对它进行子类化!为什么可见性错误呢?