1.实现步骤
- 构造函数私有化
- 创建静态Builder对象,用于处理具体属性
2.案例
public class User {
private String name;
private String password;
private String nickName;
private int age;
private User(String name, String password, String nickName, int age) {
this.name = name;
this.password = password;
this.nickName = nickName;
this.age = age;
}
public static UserBuilder builder(){
return new UserBuilder();
}
private static class UserBuilder {
private String name;
private String password;
private String nickName;
private int age;
private UserBuilder() {
}
public UserBuilder name(String name){
this.name = name;
return this;
}
public UserBuilder nickName(String nickName){
this.nickName = nickName;
return this;
}
public UserBuilder password(String password){
this.password = password;
return this;
}
public UserBuilder age(int age){
this.age = age;
return this;
}
public User build(){
return new User(name, password, nickName, age);
}
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", password='" + password + '\'' +
", nickName='" + nickName + '\'' +
", age=" + age +
'}';
}
}
3.测试使用
public static void main(String[] args) {
User build = User.builder().name("张三").nickName("张小三").password("123456").age(18).build();
System.out.println(build);
}
4.使用Lombok简化
开发中可以使用Lombok插件进行代码简化,具体使用方式网上许多教程,可参考配置