WEB开发网
开发学院软件开发Java 实战 Groovy: Groovy:Java 程序员的 DSL 阅读

实战 Groovy: Groovy:Java 程序员的 DSL

 2009-09-28 00:00:00 来源:WEB开发网   
核心提示: 下一行 — public static void main(String[] args) — 通常将引发关于实现细节的一连串问题:什么是 static?什么是 void?为什么需要将方法命名为 main?什么是 String 数组?而最后,尝试向刚开始使用 Java 的开

下一行 — public static void main(String[] args) — 通常将引发关于实现细节的一连串问题:什么是 static?什么是 void?为什么需要将方法命名为 main?什么是 String 数组?而最后,尝试向刚开始使用 Java 的开发人员说明 out 是 System 类中的 PrintStream 对象的 public、static、final 实例。我永远也忘不了学生说 “天哪!其实我只是想输出 ‘Hello’”。

将此示例与用 Groovy 编写的 “Hello World” 进行对照。创建名为 HelloGroovyWorld.groovy 的文件并输入清单 2 中所示的代码行:

清单 2. 用 Groovy 代码编写的 “Hello World” 示例

println "Hello Groovy World"

是的,这段代码是与清单 1 中所示的 Java 示例等效的 Groovy 代码。在本例中,所有实现细节 — 并不立即解决手头问题的 “知识” — 都隐藏在后台,只显示简单输出 “Hello” 的代码。输入 groovy HelloGroovyWorld 以确认它可以工作。

这个小示例将演示 Groovy 的双重价值:它将显著地减少需要编写的代码行数,同时保留 Java 等效代码的语义。在下一节中,您将进一步探究这种理念。

深入研究 Hello World

有经验的 Java 开发人员都知道在 JVM 中运行代码之前必须先编译这些代码。但是,Groovy 脚本在任何位置都不显示为类文件。这是否意味着可以直接执行 Groovy 源代码?答案是 “不一定,但是它看上去是这样,对不对?”

Groovy 解释器将先在内存中编译源代码,然后再将其转到 JVM 中。您可以通过输入 groovyc HelloGroovyWorld.groovy 手动执行此步骤。但是,如果尝试使用 java 运行得到的类,将显示清单 3 中所示的异常:

上一页  1 2 3 4 5 6 7 8  下一页

Tags:实战 Groovy Groovy

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接