在Groovy中使用metaClass覆盖私有方法

时间:2015-08-11 09:50:41

标签: groovy metaprogramming private metaclass

此代码段曾与Groovy 2.1.0正常使用:

class User {
    private String sayHello() {
        return "hello"
    }
}

assert new User().sayHello() == "hello"

User.metaClass.sayHello = {
    return "goodbye"
}

assert new User().sayHello() == "goodbye"

但它在Groovy 2.4.3中不再起作用。有人知道如何用Groovy覆盖私有方法的行为(如果可能的话)?

0 个答案:

没有答案