【发布时间】:2019-12-12 12:40:00
【问题描述】:
在 Groovy 中当我在 groovy 脚本中编写以下代码时。
class Emp {
public String getId() {
return "12345";
}
}
def coercedInstance = [
getId: {
"99999"
}
] as Emp
println new Emp().getId()
println coercedInstance .getId()
在这里使用 as 运算符,我是在运行时创建实际 Emp 类的子类并在运行时提供方法体吗?
我看过其他堆栈溢出文章,并且我了解到 Groovy 使用 DefaultGroovyMethods.java 和 DefaultTypeTransformation.java 来执行强制转换。但无法弄清楚它是否是子类化。
【问题讨论】: