什么是结束?它应该包含在Java 7中。(讨论了包含在Java 7中的闭包,但最终没有包括闭包。( -ed)谁能给我提供一些可靠的参考资料,我可以从那里了解有关闭包的东西?
发布于 2011-03-26 16:14:58
这里是尼尔·加弗的博客是在Java中引入闭包的先驱之一。他从2007年1月28日开始写的关于关闭的文章在他的博客上被命名为闭包的定义 --除了视频之外,还有很多信息可以让你开始。这里是一个很好的谷歌谈话- 编程语言中的高级主题. Java的闭包与Neal,以及。
发布于 2011-03-26 19:02:24
闭包是一个代码块,可以通过访问封闭作用域的变量来引用(并传递)。
自Java1.1以来,匿名内部类以非常详细的方式提供了这个工具。它们也有一个限制,即只能使用final (并明确分配)局部变量。(注意,即使是非final局部变量也在作用域中,但不能使用。)
Java 8旨在为单方法接口*提供一个更简洁的版本,称为"lambdas“。Lambda与匿名内部类有很多相同的限制,尽管一些细节是随机变化的。
Lambda项目和JSR 335正在开发Lambdas。
*最初的设计更灵活,允许单一抽象方法(SAM)类型。不幸的是,新的设计不那么灵活,但确实试图证明允许在接口中实现是合理的。
发布于 2011-03-26 16:10:27
有关闭包的定义,请参见这个wiki页面。
和这个用Java 8:http://mail.openjdk.java.net/pipermail/lambda-dev/2011-September/003936.html关闭的页面
还请看这个Q&A:Java 7中的闭包
https://stackoverflow.com/questions/5443510
复制相似问题