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