【问题标题】:Static method without a name没有名字的静态方法
【发布时间】:2013-06-05 07:35:09
【问题描述】:

在 Android 示例类中有这个方法:

static {        
    addItem(...);
}

当我引用该类时,确实添加了这些项目。我从来没有见过这样的方法,a。这怎么叫和b。我想这个方法在类被引用(或第一次被引用)时被调用?

【问题讨论】:

    标签: java android class static


    【解决方案1】:

    这称为static initializer,其中的代码仅在类加载时调用一次。

    【讨论】:

      【解决方案2】:

      是的,这是静态初始化块,只有在加载类时才会加载,如 Fouad 所说。如果您想在需要时执行静态块内的功能,则可以添加私有静态方法。看看here

      【讨论】:

        【解决方案3】:

        这不是一种方法。这是一个static initializer。这是一种在类加载时静态地做一些工作的方式,比如设置一些数据。

        考虑一下:

        static List<String> neverChangingNames;
        
        static {
          neverChangingNames = new ArrayList<String>();
          neverChangingNames.add("Thomas");
          neverChangingNames.add("Derek");
          neverChangingNames.add("Michael");
          neverChangingNames = Collections.unmodifiableList(neverChangingNames);
        }
        

        【讨论】:

          猜你喜欢
          • 2011-12-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-04-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多