NutritionFacts cocaCola = new NutritionFacts.Builder(240, 8).calories(100).sodium(35).carbohydrate(27).build(); 1. 首先,利用必选参数调用构造器得到一个builder对象,然后调用类似setter方法设置可选参数,最后调用参数的build方法来生成不可变的对象。大名鼎鼎的protobuf中的message对象就是利用这种模式创建的。