/** * @program: demo1 * @description: 构造器 * @create: 2019-04-09 14:47 **/ public class NutritionFacts { private final int servingSize; private final int serving; 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 serving; private int calories = 0; private int fat = 0; private int sodium = 0; private int carbohydrate = 0; public Builder(int servingSize, int serving) { this.servingSize = servingSize; this.serving = serving; } public Builder calories(int val){ calories = val; return this; }public Builder fat(int val){ fat = val; return this; }public Builder sodium(int val){ sodium = val; return this; }public Builder carbohydrate(int val){ carbohydrate = val; return this; } public NutritionFacts build(){ return new NutritionFacts(this); } } private NutritionFacts(Builder builder){ servingSize = builder.servingSize; serving = builder.serving; calories = builder.calories; fat = builder.fat; sodium = builder.sodium; carbohydrate = builder.carbohydrate; } }
public class demo2 { public static void main(String[] args) { NutritionFacts builder = new NutritionFacts.Builder(240, 8).calories(60).build(); System.out.println("builder = " + builder); } }