靜態代碼塊 代碼塊 構造方法的執行順序
阿新 • • 發佈:2019-02-15
sys spa 靜態 tro oid 代碼 繼承 system line
class A {
public A() {
System.out.println("class A");
}
{ System.out.println("I‘m A class"); }
static { System.out.println("class A static"); }
}
public class B extends A {
public B() {
System.out.println("class B");
}
{ System.out.println("I‘m B class"); }
static { System.out.println("class B static"); }
public static void main(String[] args) {
new B();
}
}
運行結果:
class A static class B static I‘m A class class A I‘m B class class BB繼承A new B會 1.把A的靜態的執行完 執行B的靜態的 2.再執行A的初始化代碼塊,構造函數 3.再執行B的初始化代碼塊,構造函數
靜態代碼塊 代碼塊 構造方法的執行順序