我有 2 个罐子,我们称它们为 a.jar 和 b.jar。
b.jar 依赖于 a.jar。
在一个.jar 中,我定义了一个类,我们称之为StaticClass。在 StaticClass 中,我定义了一个静态块,调用了一个名为“init”的方法:
public class StaticClass {
static {
init();
}
public void static init () {
// do some initialization here
}
}
在 b.jar 中,我有一个 main,所以在 main 中,我希望 init() 方法已被调用,但实际上没有。我怀疑这是因为 jvm 没有加载 StaticClass,谁能告诉我
- 我的结论正确吗?
- 什么触发 jvm 加载类?
- 如何让静态块自动执行?
谢谢