【发布时间】:2016-04-10 14:21:03
【问题描述】:
我在PackageOne 中有一个超类 A,在PackageTwo 中有一个子类 B。
package PackageOne;
public class A {
protected number = 0;
}
二等奖来了
package PackageTwo;
public class B extends A {
public static void main(String args[]) {
A a = new A();
System.out.println(a.number);// Here is the error occurs
}
}
错误是The field Person.name is not visible;
据我所知,受保护的成员可以通过超类引用访问,但为什么会发生错误。
【问题讨论】:
-
在这种情况下,
B甚至不是A的子类。为什么您期望可以访问? (另外,以后在格式化您的帖子时请多加注意。这次我已经修复了它,但在您发布之前请先查看预览。) -
我看不到任何继承(编辑前)
-
@maskacovnik 我现在编辑了我的代码检查
-
“字段 Person.name”在哪里?通常不存在的东西是不可见的。
-
@MikeCAT OP 显然的意思是“字段 A.number 不可见”,而是粘贴了实际错误而不是他的示例中发生的错误。
标签: java