Board logo

標題: 无法访问非final的局部变量 [列印本頁]

作者: krave    時間: 2014-1-31 18:23     標題: 无法访问非final的局部变量

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

老师,新年好!

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

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

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

PS:在网上有看到说,java not support closures。老师知道是什么意思么?
作者: caterpillar    時間: 2014-1-31 20:19

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

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




歡迎光臨 CodeData 技術論譠 (http://www.codedata.com.tw/forum/) Powered by Discuz! 7.2