局部内部类访问局部变量的问题
Posted afei1013
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了局部内部类访问局部变量的问题相关的知识,希望对你有一定的参考价值。
局部内部类访问局部变量的注意事项:
局部变量必须用final修饰!
为什么?
因为局部变量是随着方法的调用而调用,随着调用完毕而消失
但是我们调用内部类时创建的对象依旧在堆内存中,并没有被回收,如果访问的局部变量不是用final修饰的,就是当方法调用完毕后,依旧存在于堆内存中的对象找不到局部变量的问题
而此时被final修饰的变量可以看成是一个常量,存在于常量池中,不会被立刻回收。
以上是关于局部内部类访问局部变量的问题的主要内容,如果未能解决你的问题,请参考以下文章
局部内部类的成员变量被final修饰才能被局部内部类的方法所访问