public class HelloA { static { System.out.println("static A"); } { System.out.println("I'm A class"); } public HelloA() { System.out.println("HelloA"); } } class HelloB extends HelloA { static { System.out.println("static B"); } { System.out.println("I'm B class"); } public HelloB() { System.out.println("HelloB"); } public static void main(String[] args) { new HelloB(); } }
//打印結果:
static A
static B
I'm A class
HelloA
I'm B class
HelloB
總結:執行順序為:
父類靜態代碼塊
子類靜態代碼塊
父類普通方法
父類構造方法
子類普通方法
子類構造方法
