概念:将复杂对象的构造与其表示分开,以便相同的构造过程可以创建不同的表示
public class HeroKing {
private String name;
private int gender;//true、男 fa、女
private float height;
private boolean isSingle;
public HeroKing(Builder builder) {
this.name = builder.name;
this.gender = builder.gender;
this.height = builder.height;
this.isSingle = builder.isSingle;
}
public static class Builder {
private String name;
private int gender;//1、男 0、女
private float height;
private boolean isSingle;
public Builder() {
}
public Builder toName(String name) {
this.name = name;
return this;
}
public Builder toGender(int gender) {
this.gender = gender;
return this;
}
public Builder toHeight(float height) {
this.height = height;
return this;
}
public Builder toSingle(boolean isSingle) {
this.isSingle = isSingle;
return this;
}
public HeroKing build() {
return new HeroKing(this);
}
}
}
public static void main(String[] args){
new HeroKing.Builder()
.toGender(0)
.toName("妲己")
.toHeight(170.0f)
.toSingle(true)
.build();
}