package designpattern.build;
/**
* Created by xingjie on 2017/1/13.
*/
public class Life {
private String wife;
private int height;
private String money;
private String car;
private String house;
@Override
public String toString() {
return "Life{" +
"wife='" + wife + '\'' +
", height=" + height +
", money='" + money + '\'' +
", car='" + car + '\'' +
", house='" + house + '\'' +
'}';
}
public static class Builder {
private int height;
private String wife;
private String money;
private String car;
private String house;
public Builder(int height) {
this.height = height;
}
public Builder wife(String wife) {
this.wife = wife;
return this;
}
public Builder money(String money) {
this.money = money;
return this;
}
public Builder car(String car) {
this.car = car;
return this;
}
public Builder house(String house) {
this.house = house;
return this;
}
public Life build() {
return new Life(this);
}
}
private Life(Builder builder) {
height = builder.height;
wife = builder.wife;
house = builder.house;
car = builder.car;
money = builder.money;
}
}
package designpattern.build;
/**
* Created by xingjie on 2017/1/13.
*/
public class Test {
public static void main(String[] args) {
Life life=new Life.Builder(175).wife("贤妻").car("玛莎拉蒂").house("别墅").money("1000000000....").build();
System.out.println(life.toString());
}
}
输出:
Life{wife='贤妻', height=175, money='1000000000....', car='玛莎拉蒂', house='别墅'}