参数化的构造函数是否与setter一样工作?

时间:2018-08-11 05:19:07

标签: java constructor getter-setter

我是Java的新手,所以请帮助我。 我正在搜索getter和setter的用法,那是我对setter和参数化构造函数的工作感到困惑时所使用的。

带参数的构造函数还用于访问类的私有属性,不是吗?

1 个答案:

答案 0 :(得分:-1)

任何时候要将参数配置传递给对象时,都需要使用参数化对象。您可以使用setter稍后传递该信息,但不仅在构造时传递该信息更短更整洁,而且与创建不可变对象的良好做法保持一致,该对象在构造后无法修改且没有setter 。第二种用例是,如果要强制使用类的必需属性,请使用参数化构造函数。例如,

class Student {
  private final String name;
  private final Date birthday;
  public Student(String name, Date birthday) {
    this.name = name;
    this.birthday = birthday;
  }
}