相关疑难解决方法(0)

何时执行类的静态块?

我有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
  }
}
Run Code Online (Sandbox Code Playgroud)

在b.jar中,我有一个main,所以在main中,我希望已经调用了init()方法,但实际上并没有.我怀疑是因为静态类没有被jvm加载,任何人都可以告诉我

  1. 我的结论是否正确?
  2. 触发jvm加载类的原因是什么?
  3. 如何自动执行静态块?

谢谢

java initialization

69
推荐指数
3
解决办法
6万
查看次数

标签 统计

initialization ×1

java ×1