Я немного озадачен использованием getter/setters и конструкторов (см. пример кода ниже)
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 для обеспечения безопасности, а также возможность легко изменять значения на любом этапе. Пожалуйста, уточните этот момент для меня.