WEB开发网
开发学院软件开发Java 实战 Groovy: 在 Java 应用程序中加一些 Groovy 进... 阅读

实战 Groovy: 在 Java 应用程序中加一些 Groovy 进来

 2009-11-19 00:00:00 来源:WEB开发网   
核心提示: 在清单 1 中,我声明了三个类 —— Person、Address 和 ContactNumber,实战 Groovy: 在 Java 应用程序中加一些 Groovy 进来(3),之后的代码根据这些新定义的类型创建对象,然后调用 toString() 方法,脚本被命名为

在清单 1 中,我声明了三个类 —— Person、Address 和 ContactNumber。之后的代码根据这些新定义的类型创建对象,然后调用 toString() 方法。迄今为止,Groovy 中的代码还非常简单,但现在来看一下清单 2 中 groovyc 产生什么样的结果:


清单 2. groovyc 命令生成的类
aglover@12d21 /cygdrive/c/dev/project/target/classes/com/vanward/groovy 
$ ls -ls  
total 15 
 4 -rwxrwxrwx+ 1 aglover user  3317 May 3 21:12 Address.class 
 3 -rwxrwxrwx+ 1 aglover user  3061 May 3 21:12 BusinessObjects.class 
 3 -rwxrwxrwx+ 1 aglover user  2815 May 3 21:12 ContactNumber.class 
 1 -rwxrwxrwx+ 1 aglover user  1003 May 3 21:12 
  Person$_toString_closure1.class 
 4 -rwxrwxrwx+ 1 aglover user  4055 May 3 21:12 Person.class 

哇!五个 .class 文件!我们了解 Person、Address 和 ContactNumber 文件的意义,但是其他两个文件有什么作用呢?

研究发现,Person$_toString_closure1.class 是 Person 类的 toString() 方法中发现的闭包的结果。它是 Person 的一个内部类,但是 BusinessObjects.class 文件是怎么回事 —— 它可能是什么呢?

对 清单 1 的深入观察指出:我在脚本主体中编写的代码(声明完三个类之后的代码)变成一个 .class 文件,它的名称采用的是脚本名称。在这个例子中,脚本被命名为 BusinessObjects.groovy,所以,类定义中没有包含的代码被编译到一个名为 BusinessObjects 的 .class 文件。

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

Tags:实战 Groovy Java

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