【发布时间】:2019-10-25 17:57:47
【问题描述】:
我正在阅读有关不可变类的信息,据说使类不可变的方法是:
- 1 - 将类设为 final 以防止继承
- 2 - 将可变变量设为 final
- 3 - 不要提供
setter方法。
我认为第三个条件是不必要的。当我们将变量设为 final 并为其提供任何值时,即使通过 setter 方法也无法为其分配新值(因为一旦为其分配了值,就无法更改最终变量)。那么为什么我们需要没有setter方法的第三个条件呢?
我理解错了吗?
【问题讨论】:
-
评论不用于扩展讨论;这个对话是moved to chat。
标签: java immutability setter