Ich habe 2 Gläser, nennen wir sie a.jar und b.jar.
b.jar hängt von a.jar ab.
In a.jar habe ich eine Klasse definiert, nennen wir sie StaticClass. In der StaticClass habe ich einen statischen Block definiert und eine Methode namens "init" aufgerufen:
public class StaticClass {
static {
init();
}
public void static init () {
// do some initialization here
}
}
in b.jar habe ich ein main, also erwarte ich im main, dass die init () -Methode aufgerufen wurde, aber eigentlich nicht. Ich vermute, das liegt daran, dass die StaticClass nicht von der JVM geladen wurde, könnte mir jemand sagen
- Ist meine Schlussfolgerung richtig?
- Was veranlasst das JVM, eine Klasse zu laden?
- Wie kann ich den statischen Block automatisch ausführen lassen?
Vielen Dank