Я думаю, вы можете проверить это следующим образом:
package pkg1;
public class Test {
static {
System.out.println("Hello 111");
}
public static void meth() {
System.out.println("Hello 222");
}
}
Тест 1:
package pkg2;
import pkg1.Test;
public class Tester {
public static void main(String... args) {
Test t;
}
}
Это ничего не печатает.
Тест 2:
package pkg2;
import pkg1.Test;
public class Tester {
public static void main(String... args) {
Test.meth();
}
}
Печать:
Hello 111
Hello 222
Таким образом, только то, что вы импортировали класс, не означает, что загрузчик классов загрузит класс в память. Он загружает его динамически, когда он используется.