Java设计模式--Java Builder模式

原文:原文

1、Java Builder模式主要是用一个内部类去实例化一个对象,避免一个类出现过多构造函数,而且构造函数如果出现默认参数的话,很容易出错。

public Person(String name)

Person(String name, int age)

 Person(String name, int age, boolean sex)

2、Android OkHttp框架中Request、Response类都使用了Java Builder模式。

3、例:

public class Person {

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 Person build() {

    return new Person(this);

  }

}

private Person(Builder builder) {

  name = builder.name;

  age = builder.age;

  sex = builder.sex;

}

}

public class MainRun {

public static void main(String[] argv){

Person person = new Person.Builder()

      .name("StephenHe").age(20).sex(true).build();

System.out.println(person.getName() + "\n"

      + person.getAge() + "\n" +person.isSex());

}

}

你可能感兴趣的:(Java设计模式--Java Builder模式)