站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Java 专题Java7中将增加“闭包”函数

Java7中将增加“闭包”函数

摘要: Java7中将增加“闭包”函数

</td> </tr> <tr> <td height="35" valign="top" class="ArticleTeitle"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="271" height="86" align="center" valign="top"> </td> <td width="413" valign="top"> 现在越来越多的动态语言比如:Python,Ruby等受到了大家的欢迎,Java中也衍生出了Groovey,在这些语言中都提供了“闭包”的支持。在Java未来将发布的最新版本Dolphin也将增加“闭包”的功能(closure)。

类似Groovy、Python、Ruby这样的语言中都存在闭包的概念,Java、C++、C#这样的语言都不支持闭包,什么是闭包呢?记得以前看到的一篇文章中这样说过“对象是附带过程的数据,闭包是附带数据的过程”。听起来有点抽象,简单一点讲闭包就是“一段封闭的代码”(block),下面是Java7规范草案中有关闭包的一段代码:

int(int) plus2b = (int x) {return x+2; };

闭包可以包含参数和返回结果,这比起Java中的匿名内部类要要简单灵活的多。个人认为Java中增加闭包函数除了增加灵活性;而且更易于对代码进行抽象;同时可以减少临时对象对内存的开销,虽然Java有自动垃圾回收机制,但是有时候在一些应用程序中临时对象的存在可能就是性能的瓶颈。目前Java7中的闭包部分的规范还在起草阶段,期望未来的Java中可以增加更多的动态语言的支持。

如果你对此有兴趣,可以下载规范草案
http://blogs.sun.com/roller/resources/ahe/closures.pdf </td> </tr> <tr> <td height="20" colspan="2">


</td> </tr> </table> </td> </tr> <tr>


↑返回目录
前一篇: NetBeans IDE 5.0 使用入门
后一篇: 使用设计模式改善程序结构