我使用私有构造函数传递了一个类,但通过调用私有构造函数,该对象由另一个公共方法返回。当我们可以使构造函数公开时,这种构造的优点是什么?通过公共方法初始化的私有构造函数
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