我使用私有構造函數傳遞了一個類,但通過調用私有構造函數,該對象由另一個公共方法返回。當我們可以使構造函數公開時,這種構造的優點是什麼?通過公共方法初始化的私有構造函數
public final class TokenTable {
static public int errorToken = 0;
static public int timesToken = 1;
static public int divToken = 2;
static public int plusToken = 11;
......
......
private final HashMap<String, Integer> keywordMap = new HashMap();
private final HashMap<String, Integer> operationMap = new HashMap();
private TokenTable() {
operationMap.put("*", timesToken);
operationMap.put("/", divToken);
operationMap.put("+", plusToken);
....
}
static public TokenTable getInstance() {
LexTokenTabInstance = new TokenTable();
return LexTokenTabInstance;
}
}
我不得不說,我是一個有點失望的是,這裏的大部分答案都帶來了單身。我猜這是'getInstance()'的名字(這是單體getter的最常見名稱之一)......但仍然如此。 – cHao
@cHao如果您對目前的答案不滿意,爲什麼不創建自己的答案?如果你覺得有比所提供的更好的答案,我會好奇的閱讀它。 – Supericy
@Supericy:因爲這裏有兩個很好的,已經說了很多我會。這是其他人壓抑我。 – cHao