Я хотел знать правильный способ определения конструктора в Java. Это может быть не вопрос, который нужно задать здесь, но все же.Правильный способ определения конструктора?
Предположим, у меня есть этот класс:
public class Element {
private String value;
private Date timestamp;
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public Date getTimestamp() {
return timestamp;
}
public void setTimestamp(Date timestamp) {
this.timestamp = timestamp;
}
public Element(String value, Date timestamp) {
this.value = value;
this.timestamp = timestamp;
}
}
Могу ли я определить конструктор с помощью сеттеры?
public Element(String value, Date timestamp) {
setValue(value);
setTimestamp(timestamp);
}
Какой лучший дизайн? Первый кажется стандартным, и я тоже его использовал.
Я бы предпочел, чтобы использовать позже, это делает то, что поведение определяются на присваиватель применительно к параметрам конструктор, а также гарантирует согласованность переменного-член , –
Нет правильного пути, это то, что вы предпочитаете, и то, что кто-то может предпочесть. – RamanSB
Кроме того, будут случаи, когда полезно использовать сеттеры для получения того же поведения, и другие, где поведение сеттера должно отличаться от поведения инициализации. Опять же, нет ни одного правильного пути. –