以前我還以爲是在Groovy的屬性是由作用域關鍵字遺漏表示。換句話說Groovy的屬性定義
class Test {
def prop = "i am a property"
public notProp = "i am not"
}
但是,看來我是不正確有關這一點,因爲下面的腳本打印出「吸VAL」
class Foo {
public bar = "init val"
public getBar() {
"getter val"
}
}
println new Foo().bar
,當bar
被訪問的getter被調用的事實表明, bar
是屬性而不是字段。那麼Groovy中的字段和屬性究竟有什麼區別?
謝謝, 唐
它們可能看起來是一樣的,大多行事相同,但Groovy中只會產生一個屬性,它是由訪問修飾符的存在定義的的getter/setter。 – ubiquibacon 2013-08-17 15:28:30