靜態代碼塊、構造代碼塊、構造方法的執行順序:
1.首先執行靜態代碼塊(靜態代碼塊執行一次)
2.其次執行構造代碼塊
3.最後執行構造方法
public class Test1
{
{
System.out.println("父類第一構造塊");
}
static{
System.out.println("父類第一靜態代碼塊");
}
public Test1(){
System.out.println("父類構造方法");
}
static{
System.out.println("父類第二靜態代碼塊");
}
{
System.out.println("父類第二構造塊");
}
public static void main(String[] args){
new Test1();
}
}
public class Test2 extends Test1
{
{
System.out.println("第一構造塊");
}
static{
System.out.println("第一靜態代碼塊");
}
public Test2(){
System.out.println("構造方法");
}
static{
System.out.println("第二靜態代碼塊");
}
{
System.out.println("第二構造塊");
}
public static void main(String[] args){
new Test2();
}
}
執行結果:
父類第一靜態代碼塊
父類第二靜態代碼塊
第一靜態代碼塊
第二靜態代碼塊
父類第一構造塊
父類第二構造塊
父類構造方法
第一構造塊
第二構造塊
構造方法
參考鏈接:Java類中代碼的執行順序