J'ai 2 bocaux, appelons-les a.jar et b.jar.
b.jar dépend de a.jar.
dans a.jar, j'ai défini une classe, appelons-la StaticClass, dans la StaticClass, j'ai défini un bloc statique, appelant une méthode nommée "init" :
public class StaticClass {
static {
init();
}
public void static init () {
// do some initialization here
}
}
dans b.jar, j'ai un main, donc dans le main, je m'attends à ce que la méthode init() ait été appelée, mais en fait non. Je pense que c'est parce que la StaticClass n'a pas été chargée par le JVM.
- Ma conclusion est-elle correcte ?
- Qu'est-ce qui déclenche le chargement d'une classe par JVM ?
- comment puis-je faire en sorte que le bloc statique soit exécuté automatiquement ?
Merci