Groovy闭包不适用于超类的静态final字段

Groovy闭包不适用于超类的静态final字段,第1张

概述class Parent { final static String newLine = "*"}class Child extends Parent{ List body = [3, 4, 5] String toString() { def str = new StringBuilder() body.each { str.appen
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

以上是一个简单的样本来说明问题.它无法使用Eclipse上的Groovy插件进行编译.删除超类字段中的final或static解决问题.但是,我不知道为什么会这样.

http://groovy.codehaus.org/Groovy+Beans
在此链接中,它提到了Groovy中使用的属性和字段的规则.我认为应用的应该是最后一个,即元类.不幸的是,我仍然无法理解这种行为.

在所有版本的Groovy中都会一致地重现该行为.也许有人可以向Groovy团队报告一个错误.我以前从未这样做过.如果有经验的人可以做到这一点会更有效率.

解决方法 这很可能是 http://jira.codehaus.org/browse/GROOVY-5776,比它看起来更难修复 总结

以上是内存溢出为你收集整理的Groovy闭包不适用于超类的静态final字段全部内容,希望文章能够帮你解决Groovy闭包不适用于超类的静态final字段所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1220399.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存