Java では、内部クラスは外側のクラスのプライベート メンバーにアクセスできます。しかし、外部クラスは内部クラスのプライベート メンバーにアクセスできますか? これは、内部クラスが静的であるかどうかに関係ありません。これは正しくないと思いましたが、次のコードはコンパイルして正常に動作するようです。
public class Outer {
class Inner {
private int i = 0;
private Inner() {}
}
public static void main(String[] args) {
Outer o = new Outer();
Outer.Inner oi = o.new Inner();
oi.i = 10;
}
}