【发布时间】:2015-07-05 11:52:30
【问题描述】:
我正在尝试使用 Java 的受保护范围进行练习。
我在 package1 中有一个基类:
package package1;
public class Base {
protected String messageFromBase = "Hello World";
protected void display(){
System.out.println("Base Display");
}
}
我在同一个包中有一个 Neighbor 类:
package package1;
public class Neighbour {
public static void main(String[] args) {
Base b = new Base();
b.display();
}
}
然后我在另一个包中有一个子类,它从 package1 的 Base 继承:
package package2;
import package1.Base;
class Child extends Base {
public static void main(String[] args) {
Base base1 = new Base();
base1.display(); // invisible
System.out.println(" this is not getting printed" + base1.messageFromBase); // invisible
}
}
我的问题是没有从子实例调用display() 方法。此外,base1.messageFromBase 虽然被声明为受保护,但不可访问。
【问题讨论】: