Java Builder模式

来源:互联网 发布:大连理工大学知乎 编辑:程序博客网 时间:2024/05/16 14:09

Builder模式构建器

当类中参数较多,且并非所有参数都必须设置时使用

优势:builder可以有多个可变参数;因为builder利用单独的方法来设置每个参数,你想要多少个可变参数,它们就可以有多少个


class Dog {
private String name;
private int age;
private char sex;

private Dog(Builder builder) {
this.name = builder.name;
this.age = builder.age;
this.sex = builder.sex;
}

public static class Builder {
private String name;
private int age;
private char sex;

public Builder(String name) {
this.name = name;
}

public Builder age(int age) {
this.age = age;
return this;
}

public Builder sex(char sex) {
this.sex = sex;
return this;
}

public Dog build() {
return new Dog(this);
}
}


@Override
public String toString() {
return "Dog [name=" + name + ", age=" + age + ", sex=" + sex + "]";
}

}


public class Demo {
public static void main(String[] args) {
Dog d = new Dog.Builder("姓名").age(10).sex('q').build();           //参数可以随意定义,顺序不限,个数不限
System.out.println(d);
}
}

0 0
原创粉丝点击