为什么另一个包中的子类无法访问受保护的方法?
我在两个不同的包中有两个类:
package package1;
public class Class1 {
public void tryMePublic() {
}
protected void tryMeProtected() {
}
}
package package2;
import package1.Class1;
public class Class2 extends Class1 {
doNow() {
Class1 c = new Class1();
c.tryMeProtected(); // ERROR: tryMeProtected() has protected access in Class1
tryMeProtected(); // No error
}
}
我可以理解为什么调用时没有错误,因为看到此方法继承自.tryMeProtected()
Class2
Class1
但是,为什么 的对象不能在正在使用的对象上访问此方法?Class2
Class1
c.tryMeProtected();