privatefinal int servingSize; privatefinal int servings; privatefinal int calories; privatefinal int fat; privatefinal int sodium; privatefinal int carbohydrate;
publicstatic class Builder {
// Required parameters private final int servingSize; private final int servings; // Optional parameters - initialized to default values private intcalories = 0; private intfat = 0; private int carbohydrate = 0; private intsodium = 0; public Builder(int servingSize, int servings) { this.servingSize = servingSize; this.servings = servings; } public Builder calories(int val) { calories =val; return this; } public Builder fat(int val) { fat =val; return this; } public Builder carbohydrate(int val) { carbohydrate = val; return this; } public Builder sodium(int val) { sodium =val; return this; }
public NutritionFacts build() { return new NutritionFacts(this); //内部类的方法返回外部类的实例对象,并将对象自己作为参数传入 } }
遇到多个构造器参数时候需要考虑使用Builder模式来创建对象public class NutritionFacts {//定义营养包装类 privatefinal int servingSize; privatefinal int servings; privatefinal int calories; privatefinal int fat