Erläuterung, wie Classloader statische Variablen lädt

Ok, das ist eine Anfängerfrage auf Java, aber ich kann es nicht verstehen.

Ich habe den folgenden Code in meiner Klasse

private static final String [] LIST_CODE = gerarListCode();
private static final int [][] LIST_INTEGER = new int [][] {
        {947,947}, {110,103}, 
        {947,958}, {110,120}, 
        {947,954}, {103,107}, 
        {947,967}, {110,99,104}};

 private static String [] gerarListCode()
    {
        String [] listCode = new String [LIST_INTEGER.length];

        for (int i=0 ; i<LIST_INTEGER.length ; i++)
        {
           //do some stuff      
        }

        return listaUnicode;
    }

Dieser Code gibt mir eine Initialisierungsausnahme aufgrund einer Nullpunkt-Ausnahme in der folgenden Zeile

 String [] listCode = new String [LIST_INTEGER.length];

Anscheinend ist die Variable LIST_INTEGER zu diesem Zeitpunkt null.

Kann mir jemand erklären warum? Ist der Klassenladeprozess linear, dh ruft er die Methode auf, bevor alle anderen Variablen vollständig geladen werden?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage