假设我们有一个包“p1”:
package p1;
public class A {
protected void method() { }
}
...我们还有一个包“p2”:
package p2;
import p1.A;
public class B extends A { }
class Tester {
static void run() {
new B().method(); //compile-time error
}
}
现在,如果我们尝试编译一个完整的示例,我们将停留在标记行并出现编译时错误:编译器只是没有在 B 中看到目标方法。为什么会这样?