Groovy 如何扩展类方法及其子类
例如:Groovy 如何扩展类方法及其子类,groovy,metaprogramming,Groovy,Metaprogramming,例如: class Kls { } class SubKls extends Kls { } Kls.metaClass { trySmth() {} } new SubKls().trySmth() 我希望SubKls可以调用扩展方法#trySmth 更新:也许我可以使用#invokeMissingMethod来解决它,但这还不够,因为我还想扩展一些核心类,如java.lang.Object和java.lang.Stringgroovy 2.4.0没有问题: class K
class Kls {
}
class SubKls extends Kls {
}
Kls.metaClass {
trySmth() {}
}
new SubKls().trySmth()
我希望SubKls可以调用扩展方法#trySmth
更新:也许我可以使用#invokeMissingMethod来解决它,但这还不够,因为我还想扩展一些核心类,如java.lang.Object和java.lang.Stringgroovy 2.4.0没有问题:
class Kls {}
class SubKls extends Kls {}
Kls.metaClass {
foo = {'bar'}
}
assert new SubKls().foo() == 'bar'