引起 java.lang.ExceptionInInitializerError 錯誤的原因是:在類的初始化時,出錯。也就是說,在載入類時,執行static的屬性、方法塊時,出錯了。
比如
public class AA {
private static AA aa = new AA();
private AA(){//構造方法
init();
}
public void init(){
.... }
}
初始化類時,會呼叫init方法,如果Init方法出錯,這類初始化失敗,就會報java.lang.ExceptionInInitializerError錯誤
同理,在執行
static{
...
}
方法塊時,也可能報這個錯。