В 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;
}
}