2 つの異なるパッケージに 2 つのクラスがあります。
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
しかし、 のオブジェクトがusing Class2
のオブジェクトでこのメソッドにアクセスできないのはなぜ でしょうか?Class1
c.tryMeProtected();