1. 程式人生 > >java基礎之實現不可變物件的策略

java基礎之實現不可變物件的策略

java基礎之實現不可變物件的測試

1)不提供setter方法(包括修改欄位、欄位引用到的物件等方法)
2)將所有欄位設定為final、private
3)將類修飾為final,不允許子類繼承、重寫方法,可以將建構函式設為private,通過工廠的方法建立
4)如果類的欄位是對可變物件的引用,不允許修改被引用物件。
a、不提供修改可變物件的方法
b、不共享對可變物件的引用,對於外部傳入的可變物件,不儲存該引用。如果要儲存可以儲存複製後的副本;對於內部可變物件,不要返回物件本身,而是返回其複製後的副本。