Java面試題 靜態代碼塊 構造代碼塊 構造方法 的執行順序
阿新 • • 發佈:2018-10-24
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繼承fatherpublic 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面試題 靜態代碼塊 構造代碼塊 構造方法 的執行順序