Effective Java 第二章筆記

創(chuàng)建和銷毀對象時(shí)

1. 考慮用靜態(tài)工廠方法代替構(gòu)造器

1.1 優(yōu)點(diǎn)
  • 靜態(tài)工廠方法有名稱
  • 不必重復(fù)創(chuàng)建新對象
  • 可以返回原返回類型的任何子類型的對象
  • 創(chuàng)建參數(shù)化類型實(shí)例的時(shí)候,代碼更加簡潔
1.2 缺點(diǎn)
  • 類如果不含有公有的或者受保護(hù)的構(gòu)造器,就不能被子類化
  • 與其他的靜態(tài)方法實(shí)際上沒有任何區(qū)別
    • valueOf
    • of
    • getInstance
    • newInstance
    • getType
    • newType

2. 遇到多個(gè)構(gòu)造器參數(shù)時(shí)要考慮用構(gòu)造器

  • Builder 模式

3. 用私有構(gòu)造器或者枚舉類型強(qiáng)化 Singleton 屬性

  • 單元素的枚舉類型已經(jīng)成為實(shí)現(xiàn) Singleton 的最佳方法

4. 通過私有的構(gòu)造器強(qiáng)化不可實(shí)例化的能力

5. 避免創(chuàng)建不必要的對象

  • 優(yōu)先使用基本類型而不是裝箱基本類型

6. 消除過期的對象引用

7. 避免使用終結(jié)方法

  • close
  • dispose
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容