激昂百褶裙

文章
8
资源
0
加入时间
3年1月8天

匿名内部类引入外部变量必须是final?

一、匿名内部类引入外部变量必须是final?主要原因是Java语言不支持闭包,所以如果不采用final类型的数据,很可能出现一种情况,就是方法执行完以后,局部变量就被消除了,但是匿名内部类的实例还可能存在,这个时候如果在去寻找变量,就会出现问题。所以,为了解决这个问题, 匿名内部类只能使用final的外部变量,因为final变量会在编译期间直接替换为值,所以即使外部变量已经不存在了,也不影响匿