其他分享
首页 > 其他分享> > 局部内部类的final问题匿名内部类

局部内部类的final问题匿名内部类

作者:互联网

局部内部类,如果希望访问所在方法的局部变量,那么这个局部变量必须是有效final的
从Java 8+开始,只要局部变量事实不变,那么final关键字可以省略。
原因:
1. new出来的对象在堆内存当中
2.局部变量是跟着方法走的,在栈内存当中
3.方法运行结束之后,立刻出栈,局部变量就会立刻消失
4.但是new出来的对象会在堆当中持续存在,直到垃圾回收消失

 

 

如果接口的实现类(或者是父类的子类)只需要使用唯一的一次,
那么这种情况下就可以省略掉该类的定义,而改为使用匿名内部类
匿名内部类的定义格式:
接口名称对象名 =new接口名称() {
/覆盖重写所有抽象方法

 

 

 

 

标签:内部,局部变量,接口,匿名,new,final
来源: https://www.cnblogs.com/NanFangDaGua/p/16444381.html