请教一个相当基础的问题,Java中为什么拥有类可以访问内部类的私有成员? JavaAccessSUN
程序员文章站
2023-12-22 08:48:28
...
public class Outer {
public class Inner {
private int i=0;
private Inner() {
this.i=1;
}
}
public Inner getInner() {
return new Inner();
}
public static void main(String[] args) {
Outer outer = new Outer();
Inner inner = outer.getInner();
System.out.println(inner.i);
}
}
大家都知道非内部类的私有成员只能是类自有方法才能访问,其他类不管用什么方法都不能访问;而在上面代码中,为什么Outer类的main方法能通过Inner类的实例outer访问私有成员i??? 出发点在哪?
public class Inner {
private int i=0;
private Inner() {
this.i=1;
}
}
public Inner getInner() {
return new Inner();
}
public static void main(String[] args) {
Outer outer = new Outer();
Inner inner = outer.getInner();
System.out.println(inner.i);
}
}
大家都知道非内部类的私有成员只能是类自有方法才能访问,其他类不管用什么方法都不能访问;而在上面代码中,为什么Outer类的main方法能通过Inner类的实例outer访问私有成员i??? 出发点在哪?