java 内部类2(成员内部类)

成员内部类:

特点:在其所在的外部类,的成员函数中,的类。

难点:看注释(涉及到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();
    }
}
原文地址:https://www.cnblogs.com/lifehrx/p/5766567.html