一、Java Builder模式主要是用一个内部类去实例化一个对象,避免一个类出现过多构造函数,而且构造函数如果出现默认参数的话,出错率比较高。
public Person(String name)
Person(String name, int age)
Person(String name, int age, boolean sex)
二、Android OkHttp框架中Request、Response类都使用了Java Builder模式。
三、举例:
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 bulider(){
return new Person(this);
}
}
private Person(Builder builder){
name = builder.name;
age = builder.age;
sex = builder.sex;
}
}
public class BuilderTest {
public static void main(String[] args) {
Person person = new Person.Builder().name("小明").age(18).sex(true).bulider();
System.out.println(person.getName() + "\n" + person.getAge() + "\n" + person.isSex());
}
}
注:这篇文章转载于https://www.cnblogs.com/begin1949/p/4930896.html