Builer模式
public class Task { public final long id; public String summary; public String description; public boolean done; public Task(long id,String summary,String description, boolean done){ this.id = id; this.summary = summary; this.description = description; this.done = done; } public static TaskBuilder builder(){ return new TaskBuilder(); } public static class TaskBuilder{ private long id; private String summary = ""; private String description = ""; private boolean done = false; private Date dueDate; public TaskBuilder setId(long id){ this.id = id; return this; } public TaskBuilder setDescription(String description) { this.description = description; return this; } public TaskBuilder setDone(boolean done) { this.done = done; return this; } public TaskBuilder setDueDate(Date dueDate) { this.dueDate = dueDate; return this; } public TaskBuilder setSummary(String summary) { this.summary = summary; return this; } public Task build(){ return new Task(id, summary, description, done); } } @Override public String toString() { return "Task{" + "id=" + id + ", summary='" + summary + '\'' + ", description='" + description + '\'' + ", done=" + done + '}'; } }