什么时候在Java中使用静态方法?

您应该在任何时候使用静态方法,如果,

  • 该方法中的代码不依赖于实例创建,并且不使用任何实例变量。

  • 所有实例方法都将共享一段特定的代码。

  • 方法的定义不应更改或覆盖。

  • 您正在编写不应更改的实用程序类。

示例


public class InstanceCounter {
   private static int numInstances = 0;
   protected static int getCount() {
      return numInstances;
   }
   private static void addInstance() {
      numInstances++;
   }   InstanceCounter() {
      InstanceCounter.addInstance();
   }
   public static void main(String[] arguments) {
      System.out.println("Starting with "+InstanceCounter.getCount()+" instances");
      
      for (int i = 0; i < 500; ++i) {
         new InstanceCounter();
      }
      System.out.println("Created " + InstanceCounter.getCount() + " instances");
   }
}

输出结果

Started with 0 instances
Created 500 instances