【发布时间】:2012-08-13 14:22:28
【问题描述】:
我有一个关于创建不可变类的问题。以下是我考虑的几点:
- 使课程最终化
- 使所有成员成为最终成员,在静态块中或在构造函数中显式设置它们
- 将所有成员设为私有
- 没有修改状态的方法
- 要非常小心地限制对可变成员组件的访问(请记住,该字段可能是最终的,但对象仍然可以是可变的。即私有最终日期 imStillMutable)- 有关详细信息,请参阅防御性复制或其近亲复制构造函数。
但是我根本没有完全理解 5 点,请您给我建议或给我看一个例子,其中 5 点在那个例子中是明确的?
【问题讨论】:
标签: java immutability defensive-copy