可以,私有只对该外部类以外访问时起作用,对本类内部访问没有影响,而内部类是属于该外部类的内部成员。其实内部类调用外部类成员时,当该内部类没有时,虚拟机会自动对其添加Outer.this.
class Outer
{
private int x = 5;
class Inner
{
int x = 6;
void method()
{
int x = 7;
System.out.println(x);//这时候打印的是该方法的x值7.如果要打印内部类中x,this.x.如果是外部类的x。Outer.this.x.如果该方法和内部类中没有x,打印x,为5.
//因为这时候虚拟机会自动对x添加Outer.this
}
}
} |