groovy - 如何覆盖groovy中的字段

标签 groovy

class A {
    def p = 18
    def out() {
        println(p)
    }
}
class B extends A {
    def p = 21
}

new B().out()

我有上面的片段。输出是 ****.. 你猜怎么着?

我的问题是 - 我怎样才能获得像在 java 中那样的结果?

ps:groovy 控制台对于那些想要执行上面示例的人来说效果很好:groovyconsole.appspot.com

UPD: 将属性转换为方法可以解决问题。还有其他选择吗?

最佳答案

如何在初始化 block 中覆盖 p 的值?

class B extends A {
    { p = 21 }
}

关于groovy - 如何覆盖groovy中的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35347304/

相关文章:

groovy - 在 Groovy 中使用 When and Then?

grails - 如何解决针对类的 'No such property. “”的严重错误500内部服务器错误

shell - 通过gradle编写环境变量未显示在系统变量中

hibernate - 使用Hibernate将可变转换为不可变

grails - 如何更改 Grails 生成的输入字段的顺序

java - Jira IssueInputParameters.AddCustomFieldValue 确实将值放入该字段

java - 无法使用 spring cli 命令启动groovy应用程序

grails - 如何声明闭包用作函数参数

java - 将 double 值转换为包含小数点分隔符并且在groovy中逗号后仅包含两位数字

java - 为什么 Groovy Enums 无法访问类变量?