现在不
在Java 7之前:
是的,顺序如下:
- jvm加载类
- 执行静态块
- 寻找主方法并调用它
因此,如果在静态块中有代码,它将被执行。但是这样做是没有意义的。
如何测试:
public final class Test { static { System.out.println("FOO"); }}然后,如果您尝试运行该类(使用
java TestIDE或通过IDE的形式命令行),则结果为:
FOO
java.lang.NoSuchMethodError:主要

现在不
在Java 7之前:
是的,顺序如下:
因此,如果在静态块中有代码,它将被执行。但是这样做是没有意义的。
如何测试:
public final class Test { static { System.out.println("FOO"); }}然后,如果您尝试运行该类(使用
java TestIDE或通过IDE的形式命令行),则结果为:
FOO
java.lang.NoSuchMethodError:主要