Effective JAVA 01

Effective java之創建和銷燬對象
名詞解釋

構造器(Constructor ):構造器作爲一種方法,使用 new 關鍵字實現對象的創建。負責類中成員變量(域)的初始化。 就是類中的構造函數。最大的用處就是在創建對象時執行初始化。

靜態工廠方法(Static factory method):用一個靜態方法來對外提供自身實例的方法,例如,Boolean.FALSE。

創建對象方法

1、靜態工廠方法代替構造器
代碼:
//使用構造器
Boolean b1 = new Boolean(true);
//使用靜態工廠方法
Boolean b2 = Boolean.valueOf(true);
對比:
1)構造器
一個類只能帶有一個指定簽名的構造器。要實現多個功能,就需要創建多個類。
它容易受到參數的形象,例如參數類型順序是不能改變的,不便於用戶長久使用。
2) 靜態工廠
使用條件:當一個類它需要多個帶有相同簽名的構造器。
取不同的名字以表示不同的構造方式。
可以根據功能來取名字,對於代碼的編寫和閱讀都能夠更清晰。
3)優勢

     有獨立的名稱,如valueOf

     不需要在每次調用時都創建一個新的對象
     [Java的單例(Singleton)](https://www.jianshu.com/p/eb30a388c5fc)
     它們可以返回原返回類型的任何子類型的對象

2、構建器來處理多個構造器參數

3、用私有的構造器或者枚舉類型強化Singleton屬性

4、通過私有構造器強化不可實例化的能力

5、避免創建不必要的對象

6、消除過期的對象引用

7、避免使用終結方法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章