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

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

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 B

B繼承A new B會 1.把A的靜態的執行完 執行B的靜態的 2.再執行A的初始化代碼塊,構造函數 3.再執行B的初始化代碼塊,構造函數

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