使私有方法成为最终方法?

2022-08-31 20:28:45

使私有方法成为最终方法是否有利?这会提高性能吗?

我认为“私有决赛”没有多大意义,因为私有方法不能被覆盖。因此,方法查找应该像使用 final 时一样有效。

如果可能,将私有帮助器方法设置为静态会更好吗?

什么最好使用?

  private Result doSomething()
  private final Result doSomething()
  private static Result doSomething()
  private static final Result doSomething()

答案 1

添加到方法不会提高 Sun HotSpot 的性能。在可以添加的地方,HotSpot会注意到该方法永远不会被覆盖,因此会以相同的方式对待它。finalfinal

在Java中,方法是非虚拟的。您不能重写它们,即使使用子类可以访问它们的嵌套类也是如此。例如,用于调用私有的指令方法与用于非私有的方法不同。添加到私有方法不会带来任何困难。privatefinal

与以往一样,这些微观优化不值得花时间。


答案 2

private static Result doSomething(),如果此方法未使用任何实例变量。在任何情况下,使它们成为最终版本都没有意义,因为访问器是私有的。


推荐