声明私有方法静态

时间:2013-04-02 23:41:30

标签: java static-methods

如果类public static中的其他方法没有调用它,那么是否有充分的理由声明私有方法是静态的?即使该方法不需要任何实例变量,例如将两个输入参数一起添加。声明一个方法静态是否有任何开销,在这种情况下,即使它可以独立于它所在的类的实例运行,也会使它值得不静态?

2 个答案:

答案 0 :(得分:4)

实例方法有必须将this引用传递给方法的开销,即使它没有在方法中使用,所以如果调用静态方法的任何东西更便宜而不是调用实例方法。

优化方面它不会添加任何内容:该方法已经是私有的,因此如果需要,JVM可以自由内联它。静态或非静态没有区别。

设计明智:它是一种私人方法,所以你可以自由地做任何你想做的事。

答案 1 :(得分:0)

声明方法静态与否的原因与它是否为私有无关。如果它没有引用任何实例变量,你可以声明它是静态的,有些人可能认为这样做是好的。

相关问题