假设我有一个设计为实例化的类。我在类中有几个私有的“帮助器”方法,它们不需要访问任何类成员,并且只对它们的参数进行操作,返回结果。
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作为静态方法 - 或者有任何特别的理由不这样做?
computeOne
computeMore
将它们保留为非静态当然是最简单的,即使它们当然可以是静态的而不会引起任何问题。
我更喜欢这样的辅助方法private static;这将使读者清楚他们不会修改对象的状态。我的 IDE 还会以斜体显示对静态方法的调用,因此我无需查看签名即可知道该方法是静态的。
private static