そのサブクラスはスーパークラスからすべてを継承しているのではありませんか?ただし、サブクラスはスーパークラスのプライベート属性/メソッドにアクセスできませんでしたが、独自の属性/メソッドにはアクセスできます。そこで、テストプログラムを作成しました。しかし、サブクラスには1つもないようです。
class a {
private void set() {
System.out.println("a.set()");
}
}
public class b extends a {
// private void set() {
// System.out.pritln("b.set()");
// }
void f() {
set();
}
public static void main(String[] args) {
b b = new b();
b.f();
}
}
例のようにbのset()メソッドをコメントアウトすると、コンパイルされません。
何か案が?JVMビューからの説明はありますか?