我试图从父类中的方法访问属性,其中该属性在子类中初始化,如下所示:
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"
}
答案 0 :(得分:1)
您正在设置子类的描述变量,但是尝试访问从未设置的父类的描述变量。