实战 Groovy: Groovy:Java 程序员的 DSL
2009-09-28 00:00:00 来源:WEB开发网清单 9. Groovy POGO
class GroovyPerson{
String firstName
String lastName
}
除非您另外指定,否则 Groovy 中的所有类都是 public 的。所有属性都是 private 的,而所有方法都是 public 的。编译器将为每个属性自动提供一组 public getter 和 setter 方法。用 javac 编译 JavaPerson 并用 groovyc 编译 GroovyPerson。现在通过 javap 运行它们以确认该 Groovy 示例拥有 Java 示例所拥有的所有内容,甚至可以扩展 java.lang.Object(在先前的 HelloGroovyWorld 示例中未指定类,因此 Groovy 转而创建了扩展 groovy.lang.Script 的类)。
所有这些意味着您可以立即开始使用 POGO 作为 POJO 的替代选择。Groovy 类是只剩下基本元素的 Java 类。在编译了 Groovy 类之后,其他 Java 类可以轻松地使用它,就好像它是用 Java 代码编写的。为了证明这一点,请创建一个名为 JavaTest.java 的文件并添加清单 10 中的代码:
清单 10. 从 Java 代码中调用 Groovy 类
public class JavaTest{
public static void main(String[] args){
JavaPerson jp = new JavaPerson();
jp.setFirstName("John");
jp.setLastName("Doe");
System.out.println("Hello " + jp.getFirstName());
GroovyPerson gp = new GroovyPerson();
gp.setFirstName("Jane");
gp.setLastName("Smith");
System.out.println("Hello " + gp.getFirstName());
}
}
即使 getter 和 setter 不显示在 Groovy 源代码中,这项测试也证明了它们是存在于经过编译的 Groovy 类中并且完全可以正常运行。但是如果我不向您展示 Groovy 中的相应测试,则这个示例不算完整。创建一个名为 TestGroovy.groovy 的文件并添加清单 11 中的代码:
- ››Groovy轻松入门
- ››实战:企业使用交换机VLAN路由配置
- ››实战案例分析:高质量软文对网站百度排名的影响
- ››实战经验浅谈网站搬家后的优化工作
- ››实战Active Directory站点部署与管理,Active Dir...
- ››实战操作主机角色转移,Active Directory系列之十...
- ››实战经验:巧用微博推广淘宝网店
- ››实战iPhone GPS定位系统
- ››实战Linux环境配置DBD:Oracle模块
- ››实战DeviceIoControl系列之一:通过API访问设备驱...
- ››实战DeviceIoControl系列之二:获取软盘/硬盘/光盘...
- ››实战DeviceIoControl系列之三:制作磁盘镜像文件
更多精彩
赞助商链接