【问题标题】:What do you mean by stateless in static method?静态方法中的无状态是什么意思?
【发布时间】:2016-07-20 03:50:06
【问题描述】:

静态方法不应包含状态。这里的“状态”是什么意思?

我读过静态方法不需要实例化,也不要使用实例变量。那么什么时候可以使用静态方法呢?我读过静态方法不好?我应该在编码时包含它吗?

【问题讨论】:

    标签: static-methods stateless


    【解决方案1】:

    状态是存储一些信息的意思,静态方法是在加载类的时候加载的,所以不需要实例调用静态方法,可以使用类名调用该方法,这取决于何时使用静态方法.您可以使用静态方法作为产品的单个组件,只需传递您的参数并完成您的工作。

    【讨论】:

      【解决方案2】:

      下面是一个例子:

      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;
        }
      }
      

      它们本身既不好也不好,它们只是静态的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-29
        • 1970-01-01
        • 2011-01-19
        • 1970-01-01
        • 2011-07-10
        • 2017-03-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多