は、次のコードを検討:保護されたアクセスのためのJavaルールは、そのような理由は何ですか?
public class Sup {
protected void method(){}
}
//another package
class Sub extends Sup {
public static void main(String[] args) {
new Sub().method();
new Sup().method(); // does not compile
}
}
私の質問は:それは2番目の呼び出しがコンパイルされないように設計された理由?
エラーメッセージは何ですか? –
なぜあなたはそれをコンパイルすべきだと思いますか? –
OPはコンパイルするとは思わない。彼はまた、プログラムがコンパイルされない理由を尋ねていない。 OPはJavaでこの設計選択の理由を知りたい。 – Zabuza