class AGroovyClass { int value = 10}obj = new AGroovyClass()pName = "value"PRintln obj["value"] // 10println obj.value // 10println obj["$pName"] // 10println obj."$pName" // 10// value=10// class=class AGroovyClassobj.properties.each { println it}println obj.properties.value // 102、动态访问方法class AGroovyClass { def add(val1, val2) { val1 + val2 }}obj = new AGroovyClass()mName = 'add'method = obj.metaClass.getMetaMethod(mName, null, null)println method.invoke(obj, 11, 13) // 24println method.invoke(obj, "Hello ", "World!") // Hello World!println obj.invokeMethod("add", [11, 13]) // 24println obj.invokeMethod("add", ["Hello ", "World!"]) // Hello World!
新闻热点
疑难解答