Java:静态代码块、构造代码块、构造函数

先看一段程序:

public class Str {

    static {
        System.out.println("static{1}");
    }
    static {
        System.out.println("static{2}");
    }
    {
        System.out.println("{}");
    }

    Str() {
        System.out.println("Str()");
    }

    public static void main(String[] args) {
        new Str();
        new Str();
    }
}

执行结果为:

static{1}
static{2}
{}
Str()
{}
Str()

结论:

  1. 静态代码块按顺序执行,且执行一次(类加载时执行)
  2. 构造代码块,每次new对象时执行,且先于构造函数执行
  3. 执行构造函数
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容