Java调用setter在构造函数中

时间:2011-11-21 23:48:58

标签: java constructor setter

我在setter方法中验证输入数据,并且不想在构造函数中再次验证它。我想知道在构造函数中调用setter是否是个好主意?

4 个答案:

答案 0 :(得分:4)

从构造函数调用setter可以正常工作。促进代码重用。

答案 1 :(得分:1)

是的,你可以在构造函数中调用setter。

Sample() {
    setName("name");
}

没有被禁止

答案 2 :(得分:1)

你可以做到这一点。这是可能的,但我还建议您查看论坛link

这篇文章应该让您了解Construtor Injection vs Setter Injection link

答案 3 :(得分:1)

一般认为是安全的,但需要注意以下几点:

唯一可能遇到的麻烦是,如果在子类中重写了setter(或从构造函数调用的任何方法)。为了绝对安全(偏执?),请确保从构造函数调用的所有方法都是最终的。