- 安装:
- http://groovy.codehaus.org/Download 下载binary版本
- 解压后设置GROOVY_HOME为你解压的地址,PATH为GROOVY_HOME/bin
- 执行groovysh看能否进行groovy命令行模式,或者groovyConsole进行交互模式
- eclipse插件安装:
- groovy与java比较的特性
- 动态编译groovy如同其他脚本语言一样,是不是需要进行事先编译才能运行的,而是直接可以运行,在运行时进行编译,因此在性能上会差于java。
- 动态类型与java不同,groovy声明变量时不用指定变量类型,变量的类型在最终使用时动态指定,如:
而且在调用某个对象的方法,能否调用完全取决于该类有没有此方法,如果有此方法便可调用 ,这就天然的支持多态,甚至比java的多态更加得自由,如:str="this is a string"
class ThisClass{ def name def phone } class OtherClass{ def sex def name } def showname(people){ println "people name is:"+people.name } ThisClass tc = new ThisClass(name:"this",phone:"123") OtherClass oc = new OtherClass(sex:"man",name:"other") showname(tc) showname(oc)
- 闭包groovy中与java另一个不同是groovy能像javascript一样将函数作为变量进行传递,从而能够实现闭包以及callback方式的调用,如:
class User{ def name def phone } phonesome = {user -> println "dial $user.phone !" println "connected!!!" println "hello $user.name" } class Me{ def friend def dosomething(something){ something.call(friend) } } me = new Me(friend: new User(name:"haidong",phone:"12345")) me.dosomething(phonesome)
- 其他各种对collection、IO等的调用简便化处理