:私は、他の場合には、次にない次のコードでエラーが出ると理由を理解困難が午前保護し、デフォルトの修飾のJava
シナリオ1(エラーを持っている)
class App{
public static void main(String[]args) {
ClassA a = new ClassB();
a.print();
}
}
class ClassA {
protected void print() {}
}
class ClassB extends ClassA {
void print(){}
//creates error: Cannot reduce the visibility of the inherited method from ClassA
}
シナリオ2(いいえエラー)
class App{
public static void main(String[]args) {
ClassA a = new ClassB();
a.print();
}
}
class ClassA {
protected void print() {}
}
class ClassB extends ClassA {
protected void print(){}
//no error/ Override method
}
ご迷惑をおかけして申し訳ありません。
パッケージプライベートあなたは減らす、コンパイラはであなたをほのめかしているものthat's、protected' 'より低い可視性を持っている例外を確認しました可視性は、 'protected'を無視することによって許されますが、これは許されません。 – SomeJavaGuy