public class UserInfo {
private final String name;
private final int age;
private final int sex;
private final String icon;
public static class Builder {
private String name;
private int age;
private int sex;
private String icon;
public Builder(String name) {
this.name = name;
}
public Builder age(int val) {
age = val;
return this;
}
public Builder sex(int val) {
sex = val;
return this;
}
public Builder icon(String val) {
icon = val;
return this;
}
public UserInfo builder() {
return new UserInfo(this);
}
}
private UserInfo(Builder builder) {
name = builder.name;
age = builder.age;
sex = builder.sex;
icon = builder.icon;
}
private final String name;
private final int age;
private final int sex;
private final String icon;
public static class Builder {
private String name;
private int age;
private int sex;
private String icon;
public Builder(String name) {
this.name = name;
}
public Builder age(int val) {
age = val;
return this;
}
public Builder sex(int val) {
sex = val;
return this;
}
public Builder icon(String val) {
icon = val;
return this;
}
public UserInfo builder() {
return new UserInfo(this);
}
}
private UserInfo(Builder builder) {
name = builder.name;
age = builder.age;
sex = builder.sex;
icon = builder.icon;
}
}
通过
UserInfo info = new UserInfo.Builder("Jim").age(10).sex(0).icon("Head").builder();
方法赋值。