Groovy で遊んでいるのですが、なぜこのコードが機能しないのでしょうか?
package test
interface A {
void myMethod()
}
class B implements A {
void myMethod() {
println "No catch"
}
}
B.metaClass.myMethod = {
println "Catch!"
}
(new B()).myMethod()
代わりに印刷されるNo catch
ことを期待していますが、印刷されますCatch!
。