【发布时间】:2017-02-24 13:56:20
【问题描述】:
我读到将方法声明为 final 会提高性能。那么,将不希望被覆盖的方法声明为 final 是否有意义?我的问题是关于性能的改进以及此类使用的任何相关缺点。
【问题讨论】:
-
我阅读了那个问题和答案。其中一些暗示最终声明可能有助于提高性能,但不要鼓励(或阻止)它的使用,除非您的目标是明确停止覆盖。我想知道为什么这不被视为标准做法。性能提升是否太小而不值得,或者有一些附带的缺点。
-
"预计不会被覆盖的方法" - 您只是不期望它们被覆盖还是您不想要它们被覆盖被覆盖?如果后者则使用
final,如果前者则考虑从长远来看有多少期望被证明是错误的,然后自己决定(正如其他人已经说过的:单独的性能原因可能无效或至少影响可以忽略不计) -
我说的是预期。但是,其他答案让我相信性能提升可以忽略不计。
标签: java oop object methods final