Static-block in Java nicht ausgeführt

class Test{
    public static void main(String arg[]){    
        System.out.println("**MAIN METHOD");
        System.out.println(Mno.VAL);//SOP(9090);
        System.out.println(Mno.VAL+100);//SOP(9190);
    }

}

class Mno{
    final static int VAL=9090;
    static{
        System.out.println("**STATIC BLOCK OF Mno\t:"+VAL);
    }
}

Ich weiß, dass eine static block wird ausgeführt wenn die Klasse geladen wird. Aber in diesem Fall die Instanz-variable innerhalb der Klasse Mno ist final, weil der, dass die static - block wird nicht ausgeführt.

Warum ist das so? Und wenn ich die entfernen würde, die final, würde es funktionieren?

Denen Speicher zugewiesen, der erste, der static final variable oder die static block?

Wenn aufgrund der final access-modifier der Klasse nicht geladen, wie kann dann die variable get-Speicher?

  • Was ist die genaue Fehlermeldung und die Nachricht, die Sie bekommen?
  • es ist kein Fehler, seine Zweifel
InformationsquelleAutor Sthita | 2013-05-31
Schreibe einen Kommentar