假设Class
中有静态块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
}
块的生命周期,实例化时,程序启动时或创建类的第一个对象
时是什么答案 0 :(得分:6)
当类加载器初始化类时执行它。并且该类是懒惰地初始化的,第一次应用程序中的某些代码需要此类(调用静态方法,或引用其静态字段之一,或者创建新实例)。
因此,如果程序从不使用该类,则永远不会执行静态块。
答案 1 :(得分:2)
首次访问应用程序中的类时。