以下的Java代码没有调用类
代码:
B
的静态初始化器。为什么?代码:
class A
{
static
{
System.out.println("A static init");
}
public static void f()
{
System.out.println("f() called");
}
}
class B extends A
{
static
{
System.out.println("B static init");
}
}
public class App
{
public static void main( String[] args)
{
B.f(); //invokestatic #16 // Method com/db/test/B.f:()V
}
}
程序输出:
A static init
f() called
在JDK 1.8.0_25上进行了测试。