我在setter方法中验证输入数据,并且不想在构造函数中再次验证它。我想知道在构造函数中调用setter是否是个好主意?
答案 0 :(得分:4)
从构造函数调用setter可以正常工作。促进代码重用。
答案 1 :(得分:1)
是的,你可以在构造函数中调用setter。
Sample() {
setName("name");
}
没有被禁止
答案 2 :(得分:1)
答案 3 :(得分:1)
一般认为是安全的,但需要注意以下几点:
唯一可能遇到的麻烦是,如果在子类中重写了setter(或从构造函数调用的任何方法)。为了绝对安全(偏执?),请确保从构造函数调用的所有方法都是最终的。