《重构》- Change Reference to Value 的一点疑问
正在看《重构》,在212页有个实例代码有点不解,请教各位大牛,下面是内容摘录:
这个class所做的就是保存并返回一个货币种类代码。它是一个reference object,所以如果要得到它的一份实体,必须这么做:
Currency usd = Currency.get("USD");
Currency class维护一个实体链表(list of instances);我不能直接使用构造函数创建实体,因为Currency构造函数是private。
new Currency("USD").equals(new Currency("USD")); //return false
上面这句代码Currency的构造函数是private,怎么还能new呢?不应该是return false啊,应该是编译时就出错才对啊。