国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - java.lang.ExceptionInInitializerError異常的解決方法

java.lang.ExceptionInInitializerError異常的解決方法

2021-01-28 12:42面條啊Andrew Java教程

這篇文章主要為大家詳細介紹了java.lang.ExceptionInInitializerError異常的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下

今天在開發的過程中,遇到java.lang.ExceptionInInitializerError異常,百度查了一下,順便學習學習,做個筆記

靜態初始化程序中發生意外異常的信號,拋出ExceptionInInitializerError表明在計算靜態初始值或靜態變量的初始值期間發生異常。

要理解這個異常從Java類中的靜態變量初始化過程說起,在Java類中靜態變量的初始化順序和靜態變量的聲明順序是一致的。示例程序為:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package com.lang.ininitialException;
 
import java.util.ArrayList;
import java.util.List;
 
public class StaticParams {
 
  private static int NUM_A = getA();
  private static int NUM_B = getB();
  private static List<String> LIST_A = getListA();
  
  
  private StaticParams() {
    System.out.println("初始構造方法");
  }
  
  public static StaticParams getInstance() {
    return new StaticParams();
  }
  
  private static int getA(){
    System.out.println("初始化A");
    return 5;
  }
  
  private static int getB() {
    System.out.println("初始化B");
    return 10;
  }
  
  private static List<String> getListA() {
    System.out.println("初始化List");
    return new ArrayList<String>();
  }
  
  public static void main(String args[]){
    StaticParams.getInstance();
  }
}

運行結果:

初始化A
初始化B
初始化List
初始構造方法

如果交換NUM_A和NUM_B的位置,那么結果就是:

初始化B
初始化A
初始化List
初始構造方法

即:在某個靜態變量的初始化還未執行之前就使用該靜態變量。

復現ExceptionInInitializerError異常的程序如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package com.lang.ininitialException;
 
import java.util.ArrayList;
import java.util.List;
 
public class StaticParamsSingle {
 
  private static StaticParamsSingle sps = buildStaticParams();
//  private static StaticParamsSingle sps = new StaticParamsSingle();
  private static int NUM_A = getA();
  private static int NUM_B = getB();
  private static List<String> LIST_A = getListA();
  
  private StaticParamsSingle(){
    System.out.println("初始化構造方法");
  }
  
  private static StaticParamsSingle buildStaticParams() {
    if (sps == null) {
      sps = new StaticParamsSingle();
    }
    
    int result = NUM_A + NUM_B;
    System.out.println("result is:" + result);
    LIST_A.add("haha");
    return sps;
  }
  
  public static StaticParamsSingle getInstance() {
    return sps;
  }
  
  private static int getA(){
    System.out.println("初始化A");
    return 5;
  }
  
  private static int getB() {
    System.out.println("初始化B");
    return 10;
  }
  
  private static List<String> getListA() {
    System.out.println("初始化List");
    return new ArrayList<String>();
  }
  
  public static void main(String args[]) {
    StaticParamsSingle.getInstance();
    
  }
}

sps變量初始化中使用到的其他的變量,但其他的靜態變量還未初始化,故而在sps初始化時就會產生異常:

初始化構造方法
result is:0
Exception in thread "main" java.lang.ExceptionInInitializerError
Caused by: java.lang.NullPointerException
    at com.lang.ininitialException.StaticParamsSingle.buildStaticParams(StaticParamsSingle.java:25)
    at com.lang.ininitialException.StaticParamsSingle.<clinit>(StaticParamsSingle.java:8)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://www.cnblogs.com/miantiaoandrew/archive/2017/10/31/7761049.html

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 国产精品视频一二三区 | 色天天综合 | 日韩免费一区 | 国产中文字幕一区 | 久久噜噜噜精品国产亚洲综合 | 色老板在线视频 | 在线视频中文字幕 | 国产一区中文字幕 | 日本三级不卡 | 久色网| 国产综合免费视频 | 91中文在线观看 | 久久久久久久国产精品 | 午夜视频免费在线观看 | 国产精品99久久免费观看 | 中文字幕在线三区 | 午夜天堂精品久久久久 | 精品亚洲一区二区三区四区五区 | 亚洲综合大片69999 | 欧美黑人性暴力猛交喷水 | 日韩欧美一二三区 | 最近中文字幕免费 | 国产乱码精品一区二区三 | av久久 | 久久99精品久久久久久 | 涩涩视频在线看 | 亚洲伦理 | 午夜精品美女久久久久av福利 | 在线欧美日韩 | 福利视频网 | 日韩欧美三级 | 亚洲精品一区二区在线 | 色播久久| 日韩欧美视频 | 亚洲激情视频在线 | 国产欧美日韩综合精品一区二区 | 日本久久网 | 大象视频成人在线观看 | 国产极品探花 | 最近韩国日本免费观看mv免费版 | 在线看国产 |