1. 程式人生 > >Java面試題 靜態代碼塊 構造代碼塊 構造方法 的執行順序

Java面試題 靜態代碼塊 構造代碼塊 構造方法 的執行順序

ons col 繼承 ring end bsp const extends div

JAVA中的靜態代碼塊 構造代碼塊 構造方法執行順序:

靜態代碼塊(類加載時執行)>>構造代碼塊>>構造方法

下面展示一個簡單的例子,推薦大家動手運行一遍:

public class Main {

    public static void main(String[] args) {
        son s = new son();
    }
    
}
//運行結果
father static area  //首先加載父類
father static block
son static area     //加載子類
son static block
father Constructor area  
//構造父類 father Constructor block father constructor //執行構造代碼塊再執行構造方法 son Constructor area //構造子類 son Constructor block son constructor //執行構造代碼塊再執行構造方法

/*父類*/
public class father {
    private static String faterstaticArea = "father static area";

    static {
        System.out.println(faterstaticArea);
        System.out.println(
"father static block"); } private String faterConstructorArea = "father Constructor area"; { System.out.println(faterConstructorArea); System.out.println("father Constructor block"); } father(){ System.out.println("father constructor"); } }

//son繼承father
public class son extends father{ private static String sonStaticArea = "son static area"; static { System.out.println(sonStaticArea); System.out.println("son static block"); } private String sonConstructorArea = "son Constructor area"; { System.out.println(sonConstructorArea); System.out.println("son Constructor block"); } son(){ System.out.println("son constructor"); } }

Java面試題 靜態代碼塊 構造代碼塊 構造方法 的執行順序