访问由子类设置的父类属性

时间:2014-12-01 21:29:50

标签: java groovy

我试图从父类中的方法访问属性,其中该属性在子类中初始化,如下所示:

abstract class Parent {
    String description
    String name

    def printDescription() {
        println "description: ${description}"
    }
}

class Child extends Parent {
    String description = "child description"
}

Child child = new Child(name: 'Mark')
child.printDescription()                       // prints "description: null"

但是,当执行该方法时,description属性为null。我需要将孩子的description传递给父构造函数。在保持Grails的同时,最好的方法是什么?自动生成的地图构造函数?谢谢!

修改

添加一个空构造函数确实适用于我正在寻找的东西。当使用grails动态映射构造函数时,仍然会调用构造函数,例如, Child child = new Child(name: 'Mark')

Child() {
    this.description = "child description"
}

1 个答案:

答案 0 :(得分:1)

您正在设置子类的描述变量,但是尝试访问从未设置的父类的描述变量。