测试Java的静态代码快执行时机

来源:互联网 发布:中华人软件下载 编辑:程序博客网 时间:2024/06/06 01:14

看到这样一块代码,
这里写图片描述
想确认一下某类的静态方法被调用时,先执行改静态方法,还是静态代码块。

测试

NativeApplication.java

public class NativeApplication {    public static void load(){        System.out.println("[*] Inside load()");    }    static {      System.out.println("[*] Inside static block");    }}

Main.java

public class Main{    public static void main(String[] args){        NativeApplication.load();    }}

将这两个Java源文件放在同一目录下,然后编译Main.java

$ javac Main.java                                       [15:56:49]$ ls                                                    [15:56:53]Main.class              Main.java               NativeApplication.class NativeApplication.java

然后执行。

$ java Main

从打印的结果可以得知,是先执行static代码块,然后再执行被调用的static方法。
这里写图片描述

原创粉丝点击