我有两个不同包中的类:
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
的对象不能使用 c.tryMeProtected();
访问Class1
对象上的这个方法呢?