class Parent {
final static String newLine = "*"
}
class Child extends Parent{
List body = [3, 4, 5]
String toString() {
def str = new StringBuilder()
body.each { str.append(it + newLine) }
str
}
}
def c = new Child()
println c
上面是一个简单的例子来说明这个问题。无法使用它进行编译Groovy plugin
on Eclipse
。删除其中一个final
or static
在超类领域解决了这个问题。但是,我不知道为什么会这样。
http://groovy.codehaus.org/Groovy+Beans http://groovy.codehaus.org/Groovy+Beans在此链接中,它提到了 Groovy 中使用的属性和字段的规则。我想应用的应该是最后一个,即元类。不幸的是,我仍然无法理解这种行为。
该行为在 Groovy 的所有版本中均得到一致再现。也许有人可以向 Groovy 团队报告一个错误。我以前从未这样做过。如果有经验的人可以做的话,效率会更高。
这很可能是https://issues.apache.org/jira/browse/GROOVY-5776 https://issues.apache.org/jira/browse/GROOVY-5776这比看起来更难修复
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)