Ma question est sur l'un particulier de l'utilisation du mot-clé static. Il est possible d'utiliser static
mot-clé pour couvrir un bloc de code au sein d'une classe qui n'appartient à aucune fonction. Pour l'exemple de code suivant compile:
public class Test {
private static final int a;
static {
a = 5;
doSomething(a);
}
private static int doSomething(int x) {
return (x+5);
}
}
Si vous supprimez l' static
mot-clé, il se plaint parce que la variable a
est final
. Toutefois, il est possible de supprimer les deux final
et static
mots-clés et de faire de la compilation.
Il est source de confusion pour moi dans les deux sens. Comment suis-je censé avoir une section de code qui n'appartient pas à n'importe quelle méthode? Comment est-il possible de l'invoquer? En général, quel est le but de cette utilisation? Ou mieux, où puis-je trouver de la documentation à ce sujet?