在Eclipse中更改构造函数模板,以便调用setter(s)

时间:2015-03-17 20:40:56

标签: java eclipse constructor setter

对于示例Rectangle类,Eclipse中使用代码模板的自动生成的构造函数是

public Rectangle (double width, double side) {
    this.width = width;
    this.height = height;
}

然而,假设已经创建了setter,我希望它(不必自己更改)

public Rectangle (double width, double side) {
    setWidth(width);
    setHeight(height);
}

任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:1)

从构造函数调用ovevrridable方法是一种反模式,这就是eclipse不支持它的原因。作为超类构造函数的原因在子类构造函数之前运行,因此在子类构造函数运行之前将调用子类中的重写方法。如果重写方法依赖于子类构造函数执行的任何初始化,则该方法将不会按预期运行。