Blok statyczny w Javie nie został wykonany

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);
    }
}

Wiem, że astatic blok wykonywany po załadowaniu klasy. Ale w tym przypadku zmienna instancji wewnątrz klasyMno jestfinal, z tego powodustatic blok nie jest wykonywany.

Dlaczego to jest takie? A jeśli usunęfinal, czy to zadziała?

Która pamięć zostanie przydzielona jako pierwsza,static final zmienna lubstatic blok?

Jeśli z powodufinal modyfikator dostępu klasa nie ładuje się, to jak zmienna może uzyskać pamięć?

questionAnswers(5)

yourAnswerToTheQuestion