我只知道它可以减少因粗心而导致的一些错误。 还有别的吗? 比如JVM效率等等。
全部!
答案 0 :(得分:0)
最大的优点是可以防止意外写入变量。如果成员变量是最终的,如果您的代码尝试 重新分配 该变量,则会出现编译时错误。
当然,如果它是一个对象,您可以 仍然 更改所引用对象的内容。但是如果你遵循在整个代码库中使用final
字段的原则,那么你很少(或没有)具有任何可修改的成员变量的对象。这将确保一旦创建对象不可变。不可变对象会阻止a large class of errors。它会预防很多未来的痛苦。
答案 1 :(得分:-1)
它可以通过覆盖变量来阻止错误发生。