java - 如果私有(private)帮助方法可以是静态的,那么它们是否应该是静态的

标签 java static methods static-methods

假设我有一个设计用于实例化的类。我在类中有几个私有(private)“帮助器”方法,它们不需要访问任何类成员,并且只对它们的参数进行操作,返回结果。

public class Example {
   private Something member;

   public double compute() {
       double total = 0;
       total += computeOne(member);
       total += computeMore(member);
       return total;         
   }

   private double computeOne(Something arg) { ... }
   private double computeMore(Something arg) {... } 
} 

是否有任何特殊原因将 computeOnecomputeMore 指定为静态方法 - 或者有任何特殊原因不这样做?

将它们保留为非静态当然是最简单的,即使它们当然可以是静态的而不会引起任何问题。

最佳答案

我更喜欢这样的辅助方法是 private static;这将使读者清楚他们不会修改对象的状态。我的 IDE 还会以斜体显示对静态方法的调用,因此我无需查看签名即可知道该方法是静态的。

关于java - 如果私有(private)帮助方法可以是静态的,那么它们是否应该是静态的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/538870/

相关文章:

java - 需要帮助来理解加速度计代码

java - 如何在 Scala 中使用 Java lambda

Java 使用文件中的函数

objective-c - iOS 子类化和强制方法

java - 在子类中调用父类方法

java - JavaFX 属性中 Value 和 ObjectValue 有什么区别?

java - Eclipse无法导入maven项目。无法启动所选向导

ruby-on-rails - Rails to_json 静态方法 : TypeError X is not a symbol

c - 将 'extern const' 替换为 'static const' 会影响性能吗?

C++ 多线程 - 线程安全代码