闭包与匿名的内部类的异同点?
前面提到,匿名内部类最大限制在于引用变量的能力(Their ability to reference variables):它们只能引用类变量(class variables)和局部最终变量(local final variables);其语法也令人困惑不解,而且显得冗长。甚至,匿名内部类不能重用,只能在声明的类中使用。与之相反,闭包没有这些烦人的限制,可引用闭包范围内的任何变量,简洁的语法,可被重用和赋值给变量。由于闭包是groovy.lang.Closure对象的实例,闭包拥有匿名内部类之外的额外功能。
为说明两者之间的区别,考虑如何在Java中使用匿名内部类给按钮添加事件:
JButton button = new JButton("Click me");
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){// Do something
}
});
使用Groovy实现,代码会简洁易读些:
JButton button = new JButton("Click me")
button.actionPerformed = {/your logic here**/}
分享到:
相关推荐
Start building powerful apps that take advantage of the dynamic scripting capabilities of the Groovy language, including what's new in Groovy version 3.0. This book covers Groovy fundamentals, such as...
从Java和JavaScript来学习Haskell和Groovy_.docx
Groovy in Action, Second Edition is the undisputed definitive reference on the Groovy language. Written by core members of the Groovy language team, this book presents Groovy like no other can—from ...
Making Java Groovy--Kenneth.A.Kousen. Java Groovy 很不错的学习资料
Groovy 调用 Java 类groovy 调用 Java class 十分方便,只需要在类前导入该 Java 类,在 Groovy 代码中就可以无缝使用该
apache-groovy-3.0.8.zip apache官网的groovy3.0.8版本,希望大家多多下载,apache-groovy-3.0.8.zip apache官网的groovy3.0.8版本,希望大家多多下载,apache-groovy-3.0.8.zip apache官网的groovy3.0.8版本,希望...
Java调用Groovy,实时动态加载数据库groovy脚本,java读取mongoDB的groovy脚本,加载实时运行,热部署
TutorialsPoint Groovy 教程.epub
AndroidDemoIn4Languages, 在Android开发中,比较 Java Groovy Scala Kotlin 中文版 日本語 AndroidDemoIn4Languages为了了解Android开发的更好语言,用 Java 。Groovy 。Scala 和Kotlin编写了一个简单的Android应用...
Groovy jar包 3.0.
Groovy.for.Domain.Specific.Languages.pdf
Making Java Groovy Kenneth A. Kousen 1.Easier Java 2.Closures, builders, and metaprogramming 3.Gradle for builds, Spock for testing 4.Groovy frameworks like Grails and Griffon 源码
groovy2.5.15jar包
groovy eclipse plugin 2.9.0 ,groovy eclipse 插件 2.9.0
Making Java Groovy is a practical handbook for developers who want to blend Groovy into their day to day work with Java It starts by introducing the key differences between Java and Groovy and how you...
Groovy 是一种基于Java平台的面向对象语言。Groovy 的语法和 Java 非常的相似,可以使用现有的 Java 库来进行 Groovy 开发。可以将它想像成 Java 语言的一种更加简单、表达能力更强的变体。
Java中使用Groovy的三种方式,详细见我的博客。
标签:groovy、codehaus、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用...
FragmentStatePagerAdapter中片段的状态恢复问题示例_Java_Groovy_下载.zip