我发现java中的两个嵌套类可以访问彼此的私有成员。为什么会这样?这是一个错误还是标准规定的?
以下代码编译并运行没有错误。
public class Main {
public static void main(String args[]) {
A a = new A();
a.var1 = 12;
B b = new B();
System.out.println(a.var1);
b.printA(a);
}
private static class A {
private int var1;
}
private static class B {
private int var2;
public void printA(A a) {
// B accesses A's private variable
System.out.println(a.var1);
}
}
}