静态块,构造块,构造方法的执行顺序

271 阅读1分钟

package tset2020_3_6;

public class Test2 {
	static {
		System.out.println("静态代码块");
	}
	{
		System.out.println("构造块");
	}
	public Test2() {
		System.out.println("构造方法");
	}
	public static void main(String[] args) {
		new Test2();
	}
	
}


执行结果:

静态代码块 

构造块 

构造方法 


结论:静态代码块 > 构造块 > 构造方法

静态块:类加载时执行,当有多个静态代码块,则按顺序执行,静态代码块无法访问普通变量

构造块:对象被构建时执行,但是顺序先于构造方法,当有多个构造代码块,则按顺序执行

构造方法:对象被构建时执行