【发布时间】:2015-03-12 02:09:52
【问题描述】:
为什么没有修饰符的字段在子类中可见?
我的超级班:
public class SuperClass {
String s = "superString";
public void method(){
System.out.println("Super");
}
}
我的子类:
public class Test extends SuperClass{
public static void main(String args[]){
Test t = new Test();
System.out.println(t.s);
}
}
我没有收到来自 Eclipse 的错误消息,程序打印出:superString...
但它不应该因为没有修饰符字段仅在类和包中可见,但在子类中不可见,或者我误解了什么?谢谢
【问题讨论】:
-
你的课程在什么包里?
-
好的,答案是正确的,我认为该声明更强,它在子类中不可见
-
但我认为它不是重复的,我知道那个页面......我实际上从未想过它,因为我通常使用私人或公共
-
this chart 中清楚地描述了默认可见性与其他访问级别之间的关系。希望有帮助! :)
标签: java subclass visibility access-modifiers