静态方法不应包含状态。 '状态'在这里意味着什么?静态方法中的无状态意味着什么?
我读过那个静态方法不需要实例化,也不用实例化变量。那我什么时候可以使用静态方法?我读过静态方法不好?编码时应该包括它吗?
静态方法不应包含状态。 '状态'在这里意味着什么?静态方法中的无状态意味着什么?
我读过那个静态方法不需要实例化,也不用实例化变量。那我什么时候可以使用静态方法?我读过静态方法不好?编码时应该包括它吗?
状态意味着存储一些信息,当一个类被加载时会加载静态方法,所以不需要实例来调用静态方法,您可以使用类的名称调用此方法,它取决于何时使用静态的条件方法。您可以使用静态方法作为产品的单个组件,只需传递参数并完成工作即可。
如这里的答案是一个例子:
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;
}
}
就其本身而言,它们既不坏也不好,他们只是静态的。