package a;
public class A {
protected void m(){
System.out.println("A m~~~");
}
}
package b;
import a.A;
public class B extends A {
void callM() {
m();
super.m();
B b = new B();
b.m();
}
}
package b;
import a.A;
public class C extends A {
void callM() {
m();
super.m();
B b = new B();
b.m(); //The method m() from type A is not visible
}
}
编译失败
若子类与基类(父类)不在同一包中,子类只能在自己的类(域)中访问父类继承而来的protected成员,无法访问别的子类实例(即便同父类的亲兄弟)所继承的protected修饰的方法。
引用: