top

无法访问非final的局部变量

本帖最後由 krave 於 2014-1-31 19:07 編輯

老师,新年好!

在学到匿名内部类这边,有一些疑惑。
就是,局部变量不加上final的话,无法被内部类访问到。

我困惑的地方在于,如果没有final限定,之后是会产生内、外两者所指向的内容不一致;还是说,局部变量被清理后,内部类的copy会指向一个不存在的东西?

能否用一个代码,说明一下,不加final会产生什么问题?
谢谢。

PS:在网上有看到说,java not support closures。老师知道是什么意思么?

final 的問題,可以參考 匿名內部類別 中下方的說明。

JDK8 開始,Java 會開始支援 Lambda/Clousre,詳情可以將 認識 Lambda/Closure 系列 讀完。

TOP