天天看點

effective-java 之 考慮使用靜态工廠方法替代構造方法

優點:

1.可以有自己的名字;

2.不用每次調用是建立一個新對象;

3.可以傳回任何類型的子類;

4.傳回類型可以根據傳入參數不同而不同;

5.傳回對象的類不需要存在;

缺點:

1.沒有公共或受保護構造方法的類不能被子類化;

2.程式員很難找到它們;

示例:

public static Boolean valueOf(boolean b) {
    return b ? Boolean.TRUE : Boolean.FALSE;
}