プライベート フィールドを持つクラスと、外部クラスの型を拡張するジェネリック型を持つ静的な抽象内部クラスがあります。これは、外部クラスのプライベート フィールドにアクセスしようとしますが、次のエラーが発生します: - エラー: a は外部にプライベート アクセスがあります - エラー: doSomething はアウターでプライベート アクセスを持っています
以下のコードを参照してください。
public abstract class Outer extends SomeOuter
{
private Object a;
private void doSomething(){}
public static absract class Inner<T extends Outer> extends SomeOuter.SomeInner<T> {
public InnerMethod(T p) {
p.a; //error: a has private access in Outer
p.doSomething() //error: doSomething has private access in Outer
}
}
}
jdk 1.7を使用してコンパイルしています
なぜこのエラーが発生するのか教えてください。