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

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

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

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

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

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

 

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

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

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

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

第三种

posted @ 2017-08-04 14:42  跨境电商杂货铺  阅读(174)  评论(0编辑  收藏  举报