1. 程式人生 > >Effictive Java學習筆記1:創建和銷毀對象

Effictive Java學習筆記1:創建和銷毀對象

安全 需要 () 函數 調用 bsp nbsp bean 成了

建議1:考慮用靜態工廠方法代替構造器

理由:1)靜態方法有名字啊,更容易懂和理解。構造方法重載容易讓人混淆,並不是好主意

   2)靜態工廠方法可以不必每次調用時都創建一個新對象,而公共構造函數每次調用都會創建一個對象實例。就可以預先創建好對象嘛,從而能避免創建不可重復的對象。

    靜態工廠方法能為重復的調用返回相同對象。

缺點:如果類沒有構造函數,就不能被子類化了,子類的super()就沒法用了

建議2:遇到多個構造器參數時,考慮采用構建器

理由:重疊構造函數形式,構造函數重載。

當遇到很多構造器參數的時候,可以采用javabean模式。這種模式下,調用一個無參構造函數,然後調用setter來設置每個必要的參數及相關可選參數。

但是java bean模式有個致命問題,因為要很多步驟創建bean,就造成了這個bean 線程不安全,狀態不一致。就需要程序員付出額外的努力保證他線程安全。

第三種

Effictive Java學習筆記1:創建和銷毀對象