groovy安裝及一些特性思考

  • 安裝:
    1. http://groovy.codehaus.org/Download 下載binary版本
    2. 解壓後設置GROOVY_HOME爲你解壓的地址,PATH爲GROOVY_HOME/bin
    3. 執行groovysh看能否進行groovy命令行模式,或者groovyConsole進行交互模式

  • eclipse插件安裝:

    1. http://groovy.codehaus.org/Eclipse+Plugin
  • 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等的調用簡便化處理
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章