一尘不染

如果私有帮助器方法可以是静态的,则它们应该是静态的

java

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

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) {... } 
} 

有没有指定任何特别的原因computeOne,并computeMore为静态方法-或任何特别的理由不?

将它们设置为非静态无疑是最容易的,即使它们可以肯定是静态的而不会引起任何问题。


阅读 277

收藏
2020-03-23

共1个答案

一尘不染

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

2020-03-23