最终类中的最终变量和方法

时间:2013-12-03 08:29:55

标签: java final

最终确定一个类并最终确定该类中的每个变量和方法有什么好处吗?或者那会多余吗?

3 个答案:

答案 0 :(得分:0)

  1. 完成课程禁止扩展意味着课程可以 不扩展final
  2. 结束变量意味着变量的值不能 改变。
  3. 完成方法意味着不能覆盖它。
  4. 所以好处取决于你如何使用这些

    由于无法扩展最终类,但不禁止创建实例。例如String class。您可以创建String类的实例,但不能扩展它。

    因此,如果最终类中的变量不是最终的,那么您也可以更改值

答案 1 :(得分:0)

这不是多余的。它们有不同的用途

将一个类标记为final意味着它不能被继承,但它可以像普通类一样运行。见Use of final class in Java

将成员标记为最终意味着无法更改其值。见http://javarevisited.blogspot.com/2011/12/final-variable-method-class-java.html

答案 2 :(得分:0)

理论上,它几乎不会提高性能。但是在练习中你不会看到它。因此它会过度。

但是你会得到其他有用的可能性。你将不能继承最终的类;你不能覆盖最终的方法;你只能初始化最终的字段。在所有情况下final都意味着永远不会发生变化。

同样final对多线程任务很有用 - 如果多个线程计算某些东西,最好从旧的创建一个新的不可变对象,而不是更改旧的和写同步。