package xxx.yyy;
public class ParentClass {
protected void doPrint(){
System.out.println("Parent.....");
}
}
package aaa.bbb;
import cathy.inner.ParentClass;
public class Child extends ParentClass {
public void getName(){
System.out.println("Child....");
}
}
包 aaa.bbb 中的客户端不能使用 new Child().doPrint()。但是如果孩子覆盖,那么客户端可以使用 new Child().doPrint()。这对我来说似乎很奇怪,因为在覆盖期间我们无法将访问修饰符更改为更具限制性,但这种情况下继承的方法似乎是私有的。
为什么以这种方式实施?