一個java類的加載順序,今天作了一個實驗,結果以下java
超類的靜態成員web
超類的靜態塊函數
子類的靜態成員spa
子類的靜態塊code
超類的非靜態成員orm
超類的構造函數it
子類的非靜態成員class
子類的構造函數import
class Parent1 { private String parent="parent init"; private static String staticVar="Parent static init"; public Parent1(){ System.out.println(parent); System.out.println("parent constructor......"); } static{ System.out.println("parent static block ........"+staticVar); } } class Son1 extends Parent1{ private String son="son init"; private static String staticSonnVar="son static init"; public Son1(){ System.out.println(son); System.out.println("son constructor...."); } static{ System.out.println("son static block....."+staticSonnVar); } } public class ClassProject { public static void main(String[] args) { // Parent1 parent=new Parent1(); Son1 son=new Son1(); } }
結果:構造函數
parent static block ........Parent static init
son static block.....son static init
parent init
parent constructor......
son init
son constructor....