下面是个多参数构造的例子,也可设置默认值。
Builder模式可以对不同顺序和数量的多参数结构进行较好的处理。
Builder简单的示例代码:
public class Student{
private String name;
private int age;
private boolean sex;
public String getName() {
return name;
}
public int getAge() {
return age;
}
public boolean isSex() {
return sex;
}
public static class Builder {
private String name;
private int age;
private boolean sex;
public Builder name(String n) {
name = n;
return this;
}
public Builder age(int a) {
age = a;
return this;
}
public Builder sex(boolean s) {
sex = s;
return this;
}
public Student build() {
return new Student(this);
}
}
private Student(Builder builder) {
name = builder.name;
age = builder.age;
sex = builder.sex;
}
}
调用:
Person person = new Person.Builder().name("StephenHe").age(20).sex(true).build();