我对 getter/setter 和构造函数的使用有点困惑(参见下面的代码示例)
public class ExampleClass {
private int value = 0;
public ExampleClass () {
value = 0;
}
public ExampleClass (int i) {
this.value = i;
}
public int getValue() {
return value;
}
public void setValue(int val) {
this.value = val;
}
public static void main(String[] args) {
ExampleClass example = new ExampleClass (20);
example.setValue(20);
//Both lines above do same thing - why use constructor?
System.out.println(example.getvalue());
}
}
我所学到的是,我们需要 getter/setter 以确保安全,并且它们也可以用于稍后更改或编辑值。
我的问题是,如果构造函数是初始化点并且始终存在默认构造函数,为什么要使用带参数的构造函数来初始化值而不是 getter/setter?. 不会使用 getter 和 setter 提供安全性以及能够在任何阶段轻松更改值。请为我澄清这一点。