代碼:
package jerry;
class SomeGroovyClass {
def field1 = 'ha'
def field2 = 'ho'
def getField1() {
return 'getHa'
}
}
def a = new SomeGroovyClass()
println a.field1
println a.field2
println '------------------------------'
println a.metaClass.getAttribute(a, 'field1')
println a.metaClass.getAttribute(a, 'field2')
如果直接用執行個體.屬性名的文法通路屬性,如果針對某屬性定義了getter方法,則通路該屬性時,getter方法會自動被觸發。
參見上面代碼橫線之前的列印内容。
如果想繞過getter方法,使用執行個體的metaClass.
