执行顺序:
1、静态块。
静态块优先于构造块,无论有多少实例化对象产生,静态块只执行一次。
静态块的执行优先于主方法。jdk1.7之前,程序可没有主方法,jdk1.7之后,必须要有主方法,可不执行。
例:含main()但main不执行
public class this_static3 {
public static void main(String[] args) {
new Person();
new Person();
new Person();
}
}
class Person{
public Person(){
System.out.println("构造方法");
}
{
System.out.println("构造块");
}
static{
System.out.println("静态块");
System.exit(1);
}
}
例:因不含main()程序不能执行
2、构造块。构造块是定义在类中的代码块
3、普通代码块。普通代码块定义在方法中