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. 执行构造函数
Java:静态代码块、构造代码块、构造函数_第1张图片

你可能感兴趣的:(Java:静态代码块、构造代码块、构造函数)