- public class House {
- private final int size;
- private final int age;
- private final String owner;
- private final String address;
- private House(Builder builder){
- size = builder.size;
- age = builder.age;
- owner = builder.owner;
- address = builder.address;
- }
- @Override
- public String toString(){
- return size + " " + age + " " +
- owner + " " + address;
- }
- public static class Builder {
- private final int size;
- private final int age;
- private String owner = "Nation";
- private String address = "secret";
- public Builder(int size, int age){
- this.size = size;
- this.age = age;
- }
- public Builder owner(String owner){
- this.owner = owner;
- return this;
- }
- public Builder address(String address){
- this.address = address;
- return this;
- }
- public House build(){
- return new House(this);
- }
- }
- public static void main(String[] args){
- House house = new House.Builder(100, 0).owner("hello").address("800# Dongchuan RD").build();
- System.out.println(house);
- }
- }