執行順序:
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、普通代碼塊。普通代碼塊定義在方法中