如何扩展 Class 方法并影响其子类

How to extend Class method and effect its subclass

例如:

class Kls {

}

class SubKls extends Kls {

}

Kls.metaClass {
    trySmth() {}
}

new SubKls().trySmth()

希望SubKls可以调用扩展方法#trySmth

更新:也许我可以使用#invokeMissingMethod 来解决它,但这还不够,因为我还想扩展一些核心 Class 例如 java.lang.Object 和 java.lang.String

groovy 2.4.0 没有问题:

class Kls {}

class SubKls extends Kls {}

Kls.metaClass {
  foo = {'bar'}
}

assert new SubKls().foo() == 'bar'