Builder好处就是能够一次选配好几个选项html
public class Student { private String name = ""; private String age = ""; private String sex = ""; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public Student() { } public Student(Builder builder) { name = builder.name; age = builder.age; } public static class Builder{ private String name = ""; private String age = ""; public Builder setName(String name){ this.name = name; return this; } public Builder setAge(String age){ this.age = age; return this; } public Student create(){ return new Student(this); } }; }
若是不适用Builder,建立一个对象赋值,须要好几回完成,函数
Student student = new Student(); student.setAge("9"); student.setName("ha");
使用Builder一次就能够配置完成ui
Student student = new Student.Builder().setName("ha").setAge("9").create();
固然,建立构造函数也能够进行多参数赋值,但是当参数不少时,构造参数就会很长很乱。this
Builder优势可在建立期间进行调整,还能够根据对象不一样而进行改变code
Builder缺点是确定会增长代码量的htm