Tag: 包子

为什么另一个包中的子类无法访问受保护的方法?

我在两个不同的包中有两个类: 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看到这个方法,因为它inheritance自Class1 。 但是为什么Class2的对象不能使用c.tryMeProtected();在Class1的对象上访问此方法c.tryMeProtected(); ?