G&GR翻译之旅——从Java到Groovy(1)

第2章 从Java到Groovy
        如果您正在阅读本书,那么您很可能曾接触过Java。正如在引言中提到的,这本书是面向Java中级程序员的。因为多数学习Groovy的开发人员均有Java背景,并对Java的弊端和局限性忍无可忍,所以打算试试Groovy。无疑,您选对了。
本章重点解释Java与Groovy之间的异同点,以及Groovy如何与Java集成。鉴于Java与Groovy语法的相似性,Java向Groovy转换显得异常简单。事实上,Java程序员只需一天便可学习并开始使用Groovy实现编程。总之,就是非常简单!
2.1 Java和Groovy之间的相同点?
        对Java程序员来说,多数Groovy代码并不陌生。Java程序员甚至不需了解Groovy语法,便可打开Groovy控制台应用Groovy语言进行编程。事实上,几乎所有的Java代码都能利用groovyc命令进行编译。
        Java与Groovy均是编译型语言(compiled language)。他们都可被编译成相同的字节码,并能共同运行于统一的Java虚拟机(JVM)之上。第一章曾提到,这种模式可保证Groovy与Java代码的无缝集成,这样Java程序员便能自由使用Groovy,而不需要抛弃他们喜爱甚至深爱的Java框架或类库。
        几乎所有Java语法都只是Groovy的一部分。因此,Groovy可以被看作Java语言的一个超集。目前,Groovy唯一不支持的Java元素就是匿名内部类,但可用更强大的闭包(Closure)来代替。Groovy未来版本或许会支持Java内部和匿名的类,那时Groovy将彻底称为Java的超集。就Groovy开发者而言,Groovy支持几乎所有的Java语法无疑是经过深思熟虑的,他们想提供与Java的无缝集成,尽可能简化Java到Groovy之间的转换。
        尽管Groovy语法基本可看作Java语言的一个超集,但仍有一些语义的差别值得我们注意。正如第一章提到的,当两个整数操作数相除时,Groovy中将默认执行浮点型除法。再如,“==”操作符,在Groovy中委托给对象的equals方法,而在Java中用于比较对象标识。
        图2.1展示了一个未作任何修改的Java程序在Groovy控制台成功运行的例子。



        当您熟悉Groovy语法后,就不应再按照Java编程方式编写Groovy代码。因为这并不是学习一门新的动态语言的最终目的,并不会领略Groovy带来的简洁方便。然而,当您刚开始学习Groovy,按照Java的方式编写代码还是可行的,因为可使您更容易的了解Groovy。

你可能感兴趣的:(java,jvm,编程,虚拟机,groovy)