博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式--Builder模式
阅读量:6590 次
发布时间:2019-06-24

本文共 1942 字,大约阅读时间需要 6 分钟。

hot3.png

 本文地址:

 转载请在明显位置标明出处

1   public class Main5{ 2        3       private final int servingSize; 4        5       private final int servings; 6        7       private final int calories; 8        9       private final int fat;10      11      private final int sodium;12      13      private final int carbohydrate;14      15      public static class Builder{16          17          private final int servingSize;18          19          private final int servings;20          21          private int calories = 0;22          23          private int fat = 0;24          25          private int sodium = 0;26          27          private int carbohydrate = 0;28          29          public Builder(int servingSize,int servings){30              this.servingSize = servingSize;31              this.servings = servings;32          }33          34          public Builder calories(int calories){35              this.calories = calories;36              return this;37          }38          39          public Builder fat(int fat){40              this.fat = fat;41              return this;42          }43          44          public Builder sodium(int sodium){45              this.sodium = sodium;46              return this;47          }48          49          public Builder carbohydrate(int carbohydrate){50              this.carbohydrate = carbohydrate;51              return this;52          }53          54          public Main5 build(){55              return new Main5(this);56          }57      }58      59      private Main5(Builder builder){60          servingSize = builder.servingSize;61          servings = builder.servings;62          calories = builder.calories;63          fat = builder.fat;64          sodium = builder.sodium;65          carbohydrate = builder.carbohydrate;66      }67  }

 

 

当一个类有很多属性

有很多的熟悉可以是默认的值的时候

可以通过写多个不同参数的构造方法去实现

但是很麻烦

这种方式设计上很灵活

基本上可以上任意的组合见Effective java (中文第二版) 第11页

转载于:https://my.oschina.net/bughope/blog/489516

你可能感兴趣的文章
我的友情链接
查看>>
Linux实验室 CentOS关机大法
查看>>
一行命令获取当前JVM所有可设置的参数以及当前默认值
查看>>
spring与struts2 mvc共存web.xml简单配置
查看>>
Python web爬虫
查看>>
Python捕捉命令输出、错误输出及赋值命令到变量的方法
查看>>
详解性能调优命令
查看>>
Linux mint 14下的powerDNS+mysql+powerAdmin搭建个性DNS域名解析服务器
查看>>
Red Hat EnterPrise Linux 5.4下web服务器的综合使用(普通站点、虚拟主机、安全性、...
查看>>
squirrelmail+change_sqlpass 认证 问题
查看>>
hive优化--增加减少map数
查看>>
重建二叉树
查看>>
ERP计划参数如何在线更新
查看>>
3.8Python数据处理篇之Numpy系列(八)---Numpy的梯度函数
查看>>
LVS+Keepalived实现高可用集群
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
unbantu安装 mysql --- 百度云
查看>>
sql2008性能计数器注册表配置单元一致性失败
查看>>
LNMP环境搭建
查看>>