- 当一个类的构造函数参数个数很多,且这些参数有些是可选的参数,考虑使用构造者模式
- 代码
import lombok.ToString;
@ToString
public class Person {
private String name;
private int age;
private int sex;
private String address;
private String phone;
private String mail;
public Person(Builder builder) {
this.name = builder.name;
this.age = builder.age;
this.sex = builder.sex;
this.address = builder.address;
this.phone = builder.phone;
this.mail = builder.mail;
}
public static class Builder {
private String name;
private int age;
private int sex;
private String address;
private String phone;
private String mail;
public Builder buildName(String name){
this.name = name;
return this;
}
public Builder buildAge(int age){
this.age = age;
return this;
}
public Builder buildSex(int sex){
this.sex = sex;
return this;
}
public Builder buildAddress(String address){
this.address = address;
return this;
}
public Builder buildPhone(String phone){
this.phone = phone;
return this;
}
public Builder buildMail(String mail){
this.mail = mail;
return this;
}
public Person build(){
return new Person(this);
}
}
}
public class JDK8Test {
public static void main(String[] args) {
Person person = new Person.Builder()
.buildName("sz")
.buildAge(20)
.buildSex(1)
.build();
System.out.println(person);
}
}
版权声明:本文为weixin_51681634原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。