首页 > 其他 > 详细

Groovy里的绕过getter方法直接访问类属性的办法

时间:2021-07-06 20:03:11      阅读:31      评论:0      收藏:0      [点我收藏+]

代码:

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.

技术分享图片

?

Groovy里的绕过getter方法直接访问类属性的办法

原文:https://blog.51cto.com/jerrywangsap/2993597

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!