`

Groovy学习:第一章 用Groovy简化Java代码

阅读更多

1. Groovy的安装

目前Groovy的最新版本为2.1.2版,下载地址为:http://groovy.codehaus.org/Download
下载后解压groovy-binary-2.1.2.zip到某个目录,然后设置GROOVY_HOME环境变量指向Groovy的解压目录。
再设置PATH环境变量,添加%GROOVY_HOME%\bin。
要验证以上安装是否正确,在命令行方式,执行:

>groovy -v  
Groovy Version: 2.1.2 JVM: 1.7.0_09 Vendor: Oracle Corporation OS: Windows 7 

 表示Groovy安装成功。

2. Groovy的第一个例子

我们先写一个Java类Todo.java,内容如下:

import java.util.List;  
import java.util.ArrayList;  
 
public class Todo{  
    private String name;  
    private String note;  
  
    public Todo(){}  
  
    public Todo(String name, String note){  
        this.name = name;  
        this.note = note;  
    }  
  
    public String getName(){  
        return name;  
    }  
  
    public void setName(String name){  
        this.name = name;  
    }  
  
    public String getNote(){  
        return note;  
    }  
  
    public void setNote(String note){  
        this.note = note;  
    }  
  
    public static void main(String[] args){  
        List<Todo> todos = new ArrayList<Todo>();  
        todos.add(new Todo("1", "one"));  
        todos.add(new Todo("2", "two"));  
        todos.add(new Todo("3", "three"));  
        for(Todo todo : todos){  
            System.out.println(todo.getName() + " " + todo.getNote());  
        }  
    }  
}  

 我们用javac编译它,用java运行它,一切正常。现在,我们把Todo.java改名为Todo.groovy,然后执行:

 groovy Todo.groovy 

我们会惊异地发现,与Java的执行结果一样。

 

结论:Groovy是兼容Java的。
运行Java持续有两步:用javac编译类文件,然后用java在JVM上执行编译后的字节码文件。
而Groovy是在运行时编译字节码文件,在开发中节省了编译这个步骤。

 

3. 用Groovy简化Java代码

下面,我们用Groovy简化JavaBean为GroovyBean。

import java.util.List;  
import java.util.ArrayList;  
  
public class Todo{  
    String name;  
    String note;  
  
    public static void main(String[] args){  
        List<Todo> todos = new ArrayList<Todo>();  
        todos.add(new Todo(name:"1", note:"one"));  
        todos.add(new Todo(name:"2", note:"two"));  
        todos.add(new Todo(name:"3", note:"three"));  
        for(Todo todo : todos){  
            System.out.println(todo.name + " " + todo.note);  
        }  
    }  
}

 执行结果仍然一样。
可见,
1)省略了JavaBean的getter和setter方法;
2)默认情况,所有的类属性都是public的;
3)构造函数很有特色,Map方式。

4. 用Groovy再进一步简化代码

执行结果仍然一样。
可见,
1)List和ArrayList省略了类型;
2)省略了分号;
3)打印语句省略了System.out。

5. 用Groovy再进一步省略main()函数

public class Todo{  
    String name  
    String note  
}  
def todos = [  
    new Todo(name:"1", note:"one"),  
    new Todo(name:"2", note:"two"),  
    new Todo(name:"3", note:"three")  
]  
todos.each{  
    println "${it.name} ${it.note}"  
}
此代码在groovyconsole控制台运行正常。

看了以上内容,你们对Groovy有什么看法?下一节我们将介绍Groovy语言的关键特征。

 

http://blog.csdn.net/chszs/article/details/8757961

分享到:
评论

相关推荐

    groovy-3.0.9-API文档-中文版.zip

    标签:groovy、codehaus、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用...

    groovy和Java相互调用1

    Groovy 调用 Java 类groovy 调用 Java class 十分方便,只需要在类前导入该 Java 类,在 Groovy 代码中就可以无缝使用该

    [Groovy] Making Java Groovy 英文版

    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-2.5.1-API文档-中文版.zip

    赠送源代码:groovy-2.5.1-sources.jar; 赠送Maven依赖信息文件:groovy-2.5.1.pom; 包含翻译后的API文档:groovy-2.5.1-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.codehaus.groovy:groovy:2.5.1; 标签...

    Flutter 出现Could not download groovy-all.jar (org.codehaus.groovy:groovy-all:2.4.15)

    在一次代码拉取中,出现了以下问题:Could not download groovy-all.jar (org.codehaus.groovy:groovy-all:2.4.15) 详细的报错信息如下: // 报错信息如下 Could not resolve all files for configuration ':jcore-...

    Learning.Groovy.3.Java-Based.Dynamic.Scripting.2nd.Edition (英文版pdf)

    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中使用Groovy的三种方式

    Java中使用Groovy的三种方式,详细见我的博客。

    精通 Groovy--下一代开发语言

    Groovy 是 JVM 的一个替代语言 — 替代 是指可以用 Groovy 在 Java 平台上进行 Java 编程,使用方式基本与使用 Java 代码的方式相同。在编写新应用程序时,Groovy 代码能够与 Java 代码很好地结合,也能用于扩展现有...

    groovy-3.0.9-API文档-中英对照版.zip

    标签:groovy、codehaus、jar包、java、中英对照文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心...

    groovy-all-2.4.5-API文档-中文版.zip

    赠送源代码:groovy-all-2.4.5-sources.jar; 赠送Maven依赖信息文件:groovy-all-2.4.5.pom; 包含翻译后的API文档:groovy-all-2.4.5-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.codehaus.groovy:groovy-...

    Groovy+Java混合使用例子

    Groovy环境搭建教程中的例子工程,纯Java、纯Groovy以及Java+Groovy混合 教程参考:http://blog.csdn.net/rcom10002/archive/2011/06/26/6568557.aspx

    Java调用Groovy,实时动态加载数据库groovy脚本

    Java调用Groovy,实时动态加载数据库groovy脚本,java读取mongoDB的groovy脚本,加载实时运行,热部署

    groovy-all-2.4.12.jar

    最近的groovy-all-2.4.12.jar包供使用,解决as编译时报错问题

    在Java项目里动态解析并执行Groovy代码.zip

    软件开发设计:应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、存储设备...

    Java Groovy结合使用

    概述主要介绍Java、spring与groovy结合使用,高清英文版本

    java动态代码执行

    基于groovy框架,进行的简单java动态代码执行;附件中包含java调用groovy具体的代码实现,及测试方法。

    groovy-2.5.1-API文档-中英对照版.zip

    赠送源代码:groovy-2.5.1-sources.jar; 赠送Maven依赖信息文件:groovy-2.5.1.pom; 包含翻译后的API文档:groovy-2.5.1-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.codehaus.groovy:groovy:...

    apache-groovy-sdk-2.4.11

    编写第一个 Groovy 类,然后学习如何使用 JUnit 轻松地进行测试。借助功能完善的 Groovy 开发环境和使用技能,您将轻松完成本教程的学习。最重要的是,您将学会如何在日常 Java 应用程序开发中联合使用 Groovy 和 ...

    groovy-all-2.4.13-API文档-中文版.zip

    赠送源代码:groovy-all-2.4.13-sources.jar; 赠送Maven依赖信息文件:groovy-all-2.4.13.pom; 包含翻译后的API文档:groovy-all-2.4.13-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.codehaus.groovy:...

    SpringBoot-Gradle-Maven-Java-Groovy

    SpringBoot-Gradle-Maven-Java-Groovy:SpringBoot通过不同构建工具和语言实现。

Global site tag (gtag.js) - Google Analytics