在Groovy中用元类重写私有方法

在Groovy中用元类重写私有方法,groovy,metaprogramming,private,metaclass,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

此代码段用于在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覆盖私有方法的行为吗(如果可能的话)?

看起来像这个bug:当然,看起来是这样。谢谢蒂姆!