码迷,mamicode.com
首页 > 编程语言 > 详细

Effictive Java学习笔记1:创建和销毁对象

时间:2017-08-04 15:13:30      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:构造器   静态工厂方法   bean   努力   额外   程序   线程   静态   没有   

建议1:考虑用静态工厂方法代替构造器

理由:1)静态方法有名字啊,更容易懂和理解。构造方法重载容易让人混淆,并不是好主意

   2)静态工厂方法可以不必每次调用时都创建一个新对象,而公共构造函数每次调用都会创建一个对象实例。就可以预先创建好对象嘛,从而能避免创建不可重复的对象。

    静态工厂方法能为重复的调用返回相同对象。

缺点:如果类没有构造函数,就不能被子类化了,子类的super()就没法用了

 

建议2:遇到多个构造器参数时,考虑采用构建器

理由:重叠构造函数形式,构造函数重载。

当遇到很多构造器参数的时候,可以采用javabean模式。这种模式下,调用一个无参构造函数,然后调用setter来设置每个必要的参数及相关可选参数。

但是java bean模式有个致命问题,因为要很多步骤创建bean,就造成了这个bean 线程不安全,状态不一致。就需要程序员付出额外的努力保证他线程安全。

第三种

Effictive Java学习笔记1:创建和销毁对象

标签:构造器   静态工厂方法   bean   努力   额外   程序   线程   静态   没有   

原文地址:http://www.cnblogs.com/panxuejun/p/7285023.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!