public class User {
private String name;
private String password;
public static class Build{
private User user=new User();
public User build(){
return user;
}
public Build name(String name){
user.name=name;
return this;
}
public Build password(String password){
user.password=password;
return this;
}
}
public String toString(){
return "姓名:"+name+"密码:"+password;
}
public static void main(String[] args) {
User user=new User.Build().name("122").password("2222").build();//非静态内部类 User user1=new User().new Build().name("122").password("2222").build();System.out.println(user);
}
}
以下是effective java的build构建模式
public class NutritionFacts {
private final int servingSize;
private final int servings;
private final int calories;
private final int fat;
private final int sodium;
private final int carbohydrate;
public static class Builder {
private final int servingSize;
private final int servings;
private int calories = 0;
private int fat = 0;
private int sodium = 0;
private int carbohydrate = 0;
public Builder(final int servingSize, final int servings) {
this.servingSize = servingSize;
this.servings = servings;
}
public Builder calories(final int calories) {
this.calories = calories;
return this;
}
public Builder fat(final int val) {
this.fat = val;
return this;
}
public Builder carbohydrate(final int val) {
this.carbohydrate = val;
return this;
}
public Builder sodium(final int val) {
this.sodium = val;
return this;
}
public NutritionFacts build() {
return new NutritionFacts(this);
}
}
private NutritionFacts(final Builder builder) {
this.servingSize = builder.servingSize;
this.servings = builder.servings;
this.calories = builder.calories;
this.fat = builder.fat;
this.sodium = builder.sodium;
this.carbohydrate = builder.carbohydrate;
}
public static void main(final String[] args) {
final NutritionFacts cocaCola = new NutritionFacts.Builder(240, 8)
.calories(100).sodium(35).carbohydrate(27).build();
}
}