public class TestClass {
private int id;
private String summary = "";
private String description = "";
private boolean done = false;
private Date dueDate;
private TestClass(int id, String summary, String description, boolean done, Date dueDate) {
super();
this.id = id;
this.summary = summary;
this.description = description;
this.done = done;
this.dueDate = dueDate;
}
private TestClass() {
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getSummary() {
return summary;
}
public void setSummary(String summary) {
this.summary = summary;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public boolean isDone() {
return done;
}
public void setDone(boolean done) {
this.done = done;
}
public Date getDueDate() {
return dueDate;
}
public void setDueDate(Date dueDate) {
this.dueDate = dueDate;
}
@Override
public String toString() {
return "TestClass [id=" + id + ", summary=" + summary + ", description=" + description + ", done=" + done + ", dueDate=" + dueDate + "]";
}
public static class TestClassBuilder {
private int id;
private String summary = "";
private String description = "";
private boolean done = false;
private Date dueDate;
public TestClassBuilder id(int id) {
this.id = id;
return this;
}
public TestClassBuilder summary(String summary) {
this.summary = summary;
return this;
}
public TestClassBuilder description(String description) {
this.description = description;
return this;
}
public TestClassBuilder done(boolean done) {
this.done = done;
return this;
}
public TestClassBuilder dueDate(Date dueDate) {
this.dueDate = dueDate;
return this;
}
public TestClass builder() {
return new TestClass(this.id, this.summary, this.description, this.done, this.dueDate);
}
}
}
创建对象
public class Test {
public static void main(String[] args) {
TestClass error = new TestClass();
TestClass testClass = new TestClass.TestClassBuilder()
.id(1)
.summary("summary")
.description("description")
.done(true)
.builder();
System.out.println(testClass.toString());
}
}
https://www.vogella.com/tutorials/DesignPatternBuilder/article.html
简化对象的创建,减少臃肿的set方法 可以创建不变的对象
创建对象