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