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

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


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为静态方法-或任何特别的理由不?


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


哔哔one
浏览 353回答 3
3回答

红糖糍粑

如果member是您要处理的对象专用的实例变量,那么为什么要将其作为参数传递呢?例如:public class Example {   private Something member;   public double compute() {       double total = 0;       total += computeOne();       total += computeMore();       return total;            }   private double computeOne() { /* Process member here */ }   private double computeMore() { /* Process member here */ } }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java