1 :直接上代码
public class User {
private String name;
private boolean sex;
private int age;
@Override
public String toString () {
return "User{" +
"name='" + name + '\'' +
", sex=" + sex +
", age=" + age +
'}' ;
}
private User (Builder builder) {
this .name = builder.name;
this .sex = builder.sex;
this .age = builder.age;
}
public static class Builder {
private String name;
private boolean sex;
private int age;
/**
* //如果有参数是必须要有的,可以这样写
* public Builder(String name){
* this.name = name;
* }
*/
public Builder setName (String name) {
this .name = name;
return this ;
}
public Builder setSex (boolean sex) {
this .sex = sex;
return this ;
}
public Builder setAge (int age) {
this .age = age;
return this ;
}
public User create (){
return new User(this );
}
}
}
2 :test
public static void main (String[] args){
User user = new User.Builder()
.setAge(1 )
.setName("practicing" )
.setSex(true )
.create();
System.out .print(user.toString());
}
3 :输出
User{name='practicing' , sex=true , age=1 }