博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第二条:遇到多个构造器参数时考虑使用构建器
阅读量:6952 次
发布时间:2019-06-27

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

遇到需要多个参数(参数可分为必需参数和非必需参数)才能实例化一个类的对象时,一般有三种方法:

1.重叠构造器

  重叠构造器的方式可行,但是当有许多参数的时候,客户端的代码会很难编写,而且很容器出错。

  方便期间,假设这个类有五个Field需要赋值:

2.JavaBean式的类

  通过setter方法来为实例对象设置Field的值。

  但是通过javabean的方式来初始化一个实例,不是通过一条语句来完成的,会调用多个setter方法,这就会可能产生实例对象的不一致情况。

  另外,javabean式的类通过setter方法来为field赋值,而不是构造器,这样就不能将field设置为final,也就是不能将javabean式的类设计为不可变类,

  这样javabean式的类就不是线程安全的类,在使用时需要借助同步来保证线程安全。

3.使用构建器

  使用构建器则保持了javabean式类的可读性,也可以将field设置为final。

  构建器其实就是想要 实例化类的一个内部类。通过先实例化这个内部类,为这个内部类的实例的field赋值,让后内部类的实例把自己的field值赋给想要

  实例化的那个外部类。

转载于:https://www.cnblogs.com/wangliyue/p/4422714.html

你可能感兴趣的文章
常用的慢查询日志分析工具
查看>>
MySQL单表模拟锁的几个场景
查看>>
因子分解机模型简介
查看>>
SAP LSMW 物料主数据导入毛重净重放大1000倍问题之对策
查看>>
外嫁美的被指违约 东芝创维合作或重谈
查看>>
HCI的全面升温可能导致软件定义型传统阵列遭遇搁浅
查看>>
特斯拉和SolarCity下月召开特别股东大会 表决合并事宜
查看>>
Denyhosts shell script
查看>>
高清摄像机镜头的质量和价格分析
查看>>
中国移动计划牵头推动5G传输国际标准立项
查看>>
苹果补上了可被未授权收集传感器数据的iPhone漏洞
查看>>
《UNIXLinux程序设计教程》一2.6 文件结束和错误指示器
查看>>
Q3全球太阳能企业融资规模达30亿美元 环增76%
查看>>
华为4.5G助力TDC创造丹麦移动网络峰值速率新纪录
查看>>
融合系统的前景如何?
查看>>
科达教育行业解决方案发布会在广州举行
查看>>
15张图表,一览数字健康的热闹和门道
查看>>
在精准医疗的风口,医院、医保、互联网医疗如何顺势而为?
查看>>
全球首个5G全息国际视频通话打通
查看>>
警惕:未得到Oracle许可的应用程序存在风险
查看>>