您应该在任何时候使用静态方法,如果,该方法中的代码不依赖于实例创建,并且不使用任何实例变量。
所有实例方法都将共享一段特定的代码。
方法的定义不应更改或覆盖。
您正在编写不应更改的实用程序类。
示例
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
new InstanceCounter();
}
System.out.println("Created " + InstanceCounter.getCount() + " instances");
}
}
输出结果Started with 0 instances
Created 500 instances