【发布时间】:2023-01-27 15:26:59
【问题描述】:
假设“class A2”和 p“public class A”在 A.java 文件中, B 类与 A.java 位于不同的包中。
这是B级
public class B {
protected void protectedMethod() {
}
}
下面是 A.java 文件
class A2 extends B {
void tFunc() {
protectedMethod();
}
public class A extends A2 {
void tFunc1() {
protectedMethod(); // OK
A2 a2 = new A2();
a2.protectedMethod(); // Compile Error
为什么 a2.protected Method() 不能编译??
我理解protected如果是继承关系是可以调用的, 但是为什么A继承A2,A2继承B会出现编译错误呢?
【问题讨论】:
标签: java class overriding