【发布时间】:2016-07-20 03:50:06
【问题描述】:
静态方法不应包含状态。这里的“状态”是什么意思?
我读过静态方法不需要实例化,也不要使用实例变量。那么什么时候可以使用静态方法呢?我读过静态方法不好?我应该在编码时包含它吗?
【问题讨论】:
静态方法不应包含状态。这里的“状态”是什么意思?
我读过静态方法不需要实例化,也不要使用实例变量。那么什么时候可以使用静态方法呢?我读过静态方法不好?我应该在编码时包含它吗?
【问题讨论】:
状态是存储一些信息的意思,静态方法是在加载类的时候加载的,所以不需要实例调用静态方法,可以使用类名调用该方法,这取决于何时使用静态方法.您可以使用静态方法作为产品的单个组件,只需传递您的参数并完成您的工作。
【讨论】:
下面是一个例子:
public class SomeUtilityClass {
private static boolean state = false;
public static void callMeTwiceImBad() throws Exception {
if (state) {
throw new Exception("I remember my state from previous call!");
}
state = true;
}
public static int sum(int a, int b) {
return a + b;
}
}
它们本身既不好也不好,它们只是静态的。
【讨论】: