Когда выполняется статический блок класса?
У меня есть 2 банки, назовем их a.jar и b.jar.
b. jar зависит от a. jar.
В a.jar я определил класс, назовем его StaticClass. В StaticClass я определил статический блок, вызвав метод с именем «init»:
public class StaticClass {
static {
init();
}
public void static init () {
// do some initialization here
}
}
в b.jar у меня есть main, поэтому в основном я ожидаю, что метод init () был вызван, но на самом деле нет. Я подозреваю, что это потому, что StaticClass не был загружен jvm, может кто-нибудь сказать мне
Мой вывод правильный?Что запускает jvm для загрузки класса?Как я могу выполнить статический блок автоматически?Спасибо