不过如果你做过GUI开发的话,你就会感受到"Everything is an object"所带来的不便之处了.为了监听GUI事件并做出相应的反应,你会大量用到匿名类(而实际上你的目的只是要传入一个回调方法而已),这样不仅做了一些额外不必要的工作,也给代码的可读性造成一定影响.
譬如这类的问题还有很多,Stevey写过一篇文章:名词的王国(Execution in the Kingdom of Nouns),用形象生动的语言描叙了为什么使用JAVA会让某些工作变得的啰嗦.他的观点是由于JAVA中的"everything is an object",在某些时候限制了我们用清晰而合理的表达方式来表述我们的思想.
那么,闭包能改善目前JAVA语言所存在不足吗?就是说闭包能够让我们写出简单而易读的代码吗?要知道闭包并不是一个面向对象的东东.
Bruce Eckel在他的文章Will Closures Make Java Less Verbose里讨论了这个问题.并且在文章的末尾,他提出了一个很大胆的想法JAVA 3K(其实我也一直这么想的^_^):