假设类中有一个静态 block
public class Menu {
private static Map<String, String> buttonEventMap = new HashMap<String, String>();
static {
buttonEventMap.put("show-user","show");
buttonEventMap.put("delete-user","delete");
}
public static Map<String, String> getHashMap() // To get the hash map
}
block 的生命周期是多少,何时实例化,何时启动程序或何时创建该类的第一个对象
最佳答案
它在类加载器初始化类时执行。并且当应用程序中的某些代码第一次需要此类(例如调用静态方法,或引用其静态字段之一,或创建新实例)时,该类会被延迟初始化。
因此,如果程序从不使用该类,则静态 block 将永远不会被执行。
关于java - 何时在 Java 类中实例化静态 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10796219/