【JAVA】Builder模式
来源:互联网 发布:泰坦尼克号真相 知乎 编辑:程序博客网 时间:2024/05/17 07:24
package com.wangyao.utils;public class NutritionFacts {private final int servingSize;private final int servings;private final int calories;private final int fat;private final int carbohydrate;private final int sodium;public static class Builder{//Required Parametersprivate final int servingSize;private final int servings;//Optional parameters - initialized to default valuesprivate int calories = 0;private int fat = 0;private int carbohydrate = 0;private int sodium = 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);}}private NutritionFacts(Builder builder){servingSize = builder.servingSize;servings = builder.servings;calories = builder.calories;fat = builder.fat;carbohydrate = builder.carbohydrate;sodium = builder.sodium;}public static void main(String[] args){NutritionFacts cocaCola = new NutritionFacts.Builder(210, 10).calories(10).sodium(35).calories(27).build();}}使用场景: 多于4个变量。比JAVA BEAN模式线程安全,比重叠式构造清晰、
阅读全文
0 0
- Java建造模式(Builder)
- JAVA设计模式-Builder
- java中的builder模式
- Java Builder模式
- java设计模式-Builder
- java Builder模式
- java Builder模式
- Java Builder模式
- 【JAVA】Builder模式
- java设计模式:Builder模式
- Java设计模式---Builder模式
- Java设计模式--Builder模式
- Java设计模式--builder模式
- Java设计模式—Builder
- java设计模式4:builder
- Java 之 Builder模式使用
- effective java之 builder模式
- Java:设计模式之Builder
- 简单二进制操作
- django -电子邮箱
- C语言为什么要加#include<stdio.h>(C语言基础结构知识)
- eclipse 安装 Python 开发插件
- BZOJ1087 [SCOI2005]互不侵犯King 状压dp
- 【JAVA】Builder模式
- 【UOJ #30】【CF Round #278】Tourists
- - (void)dealloc { __weak __typeof(self)weak_self = self; NSLog(@"%@", weak_self); }代码崩溃问题
- 关于土地革命、土地改革、三民主义两阶段民生等五个阶段中土地问题的总结
- 归并排序java实现
- 制作jdk基础镜像
- Android进阶:基于okhttp 3 的 Android 网络层架构设计
- spring boot之web开发(二)
- JVM学习(一)——JAVA与JVM