作用
将⼀个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。
代码实现
/**
* @author zm
*/
public class BuilderClass {
private final String name;
private final Integer age;
public String getName() {
return name;
}
public Integer getAge() {
return age;
}
/**
* 有参私有构造方法
*
* @param builder
*/
private BuilderClass(Builder builder) {
this.name = builder.name;
this.age = builder.age;
}
public static class Builder {
private String name;
private Integer age;
public Builder setName(String name) {
this.name = name;
return this;
}
public Builder setAge(Integer age) {
this.age = age;
return this;
}
/**
* build 方法 实现数据转换
*
* @return
*/
public BuilderClass build() {
return new BuilderClass(this);
}
}
public static void main(String[] args) {
BuilderClass builderClass = new Builder().setAge(1).setName("11").build();
}
}