成员内部类:
特点:在其所在的外部类,的成员函数中,的类。
难点:看注释(涉及到jvm)
/*test()执行完毕时,x2从内存中消失,inner的声明周,比x2长,inner还在访问,给人的感觉好像血 的生命周期变长了 解决办法:让内部类访问局部变量的复制品,就是此x2 非彼x2,两份数据一份消失。 */ public class EX10 { public static void main(String[] args) { Outer out = new Outer(); out.text(); } } class Outer{ int x1 =1; public void text(){ int x2 = 2; class Inner { final int x3 = 3;//因为是复制品所以 用fianl修饰 public void print(){ System.out.println("这是局部内部类的方法 " + x2);//x2就是上面的复制品 } } Inner inner = new Inner(); inner.print(); } }