1,實現接口
interface
?Talkable?{
???? void ?sayHello(String?name)
}
def?man? = ?[
???? // ?實現接口
????sayHello:{String?name? -> ?println? " Hello,?$name " }
]?as?Talkable
man.sayHello( " Daniel " )
運行結果:???? void ?sayHello(String?name)
}
def?man? = ?[
???? // ?實現接口
????sayHello:{String?name? -> ?println? " Hello,?$name " }
]?as?Talkable
man.sayHello( " Daniel " )
Hello,?Daniel
2,繼承抽象類
abstract?class?Human?{
????abstract?void?sayHello(String?name)
}
def?man?=?[
????//?實現抽象方法
????sayHello:{String?name?->?println?"Hello,?$name"}
]?as?Human
man.sayHello("Daniel")
運行結果:????abstract?void?sayHello(String?name)
}
def?man?=?[
????//?實現抽象方法
????sayHello:{String?name?->?println?"Hello,?$name"}
]?as?Human
man.sayHello("Daniel")
Hello,?Daniel
其實說‘替代匿名類’有點不太貼切 :)
附:朝花夕拾——Groovy & Grails