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);
}
}
Je sais qu'un static
bloc exécuté lors de la classe chargée. Mais dans ce cas, la variable d'instance à l'intérieur de la classe Mno
est final
, en raison de l' static
bloc n'est pas en cours d'exécution.
Pourquoi donc? Et si je voulais supprimer l' final
, serait-il fonctionner?
De mémoire qui sera affectée en premier lieu, l' static final
variable ou de l' static
bloc?
Si, en raison de l' final
modificateur d'accès à la classe de ne pas se charger, puis comment la variable d'obtenir la mémoire?