public class Test01{
//1、普通代码块儿
{
System.out.println("=========普通块儿");
}
//2、构造块儿
public Test01(){
System.out.println("=========构造块儿");
}
// 静态块儿,只执行一次,不管有多少个对象
static{
System.out.println("=========静态块儿");
}
public static void main(String[] args){
new Test01();
new Test01();
System.out.println("=============="); //静态块儿优先于主方法执行
}
}
//静态代码块儿优先于主方法执行,普通代码块儿会优先于主方法执行,静态代码块儿优先于构造块儿,并且只执行一次
//静态代码块儿-->普通代码块儿-->构造代码块儿-->主方法
运行结果:
=========静态块儿
=========普通块儿
=========构造块儿
=========普通块儿
=========构造块儿
==============