什么是静态代码块?

时间:2013-07-29 13:08:42

标签: java static block javap

我想问一下javap除了传递给它的类的公共字段和方法之外还显示了什么。

我正在审查一个只有静态变量的类文件。正如所料,javap将静态变量和类构造函数显示为输出,但它也显示如下内容:

static {};

这条线是什么意思?

3 个答案:

答案 0 :(得分:4)

  • 这是一个static块,用于初始化值
  • 在初始化类时执行此块
  • 当初始化类时执行静态初始化程序块,执行顺序根据它们在程序中的外观而定。

答案 1 :(得分:4)

静态代码块初始化程序中的静态变量。它在类启动时执行,甚至在构造函数调用之前执行。

答案 2 :(得分:0)

javap -private -verbose类将显示常量池和方法字节码的详细信息。