- 安裝:
- http://groovy.codehaus.org/Download 下載binary版本
- 解壓後設置GROOVY_HOME爲你解壓的地址,PATH爲GROOVY_HOME/bin
- 執行groovysh看能否進行groovy命令行模式,或者groovyConsole進行交互模式
- eclipse插件安裝:
- groovy與java比較的特性
- 動態編譯groovy如同其他腳本語言一樣,是不是需要進行事先編譯才能運行的,而是直接可以運行,在運行時進行編譯,因此在性能上會差於java。
- 動態類型與java不同,groovy聲明變量時不用指定變量類型,變量的類型在最終使用時動態指定,如:
str="this is a string"
而且在調用某個對象的方法,能否調用完全取決於該類有沒有此方法,如果有此方法便可調用 ,這就天然的支持多態,甚至比java的多態更加得自由,如:
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等的調用簡便化處理