局部内部类的final问题

*爱你&永不变心* 提交于 2019-12-04 14:15:14

局部内部类,如果希望访问所在方法的局部变量,那么这个局部变量就必须是final的(或者只赋值一次) 

从Java8开始,只要局部变量事实不变那么final关键字可以省略

为什么需要保证变量为final,因为与生命周期有关,只有不变才能谈到复制在类内部;

1new出来的对象在堆内存当中;

2局部变量是跟这方法走的,在栈内存当中

3方法运行结束之后立刻出栈,局部变量就会立刻消失

4但是new出来的对象会在堆当中持续存在,直到垃圾回收消失;

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!