为什么内部类可以直接访问外部类的成员呢?
因为内部类持有了外部了的引用, 外部类名.thispackage Polymorphic; public class day_4_7 {public static void main(String[] args) {
new Fu().test1();}
}
class Fu{ int i =3; class Inner{ int i=4; void test(){ int i=5; //结果为:5 System.out.println("测试数:"+i); //结果为:4 System.out.println("测试数:"+this.i); //结果为:4 System.out.println("测试数:"+Inner.this.i); //结果为:3 System.out.println("测试数:"+Fu.this.i); } } public void test1(){ new Inner().test(); }}
结果:
测试数:5
测试数:4测试数:4测试数:3