1. 程式人生 > >JAVA筆試題:程式碼的輸出結果順序

JAVA筆試題:程式碼的輸出結果順序

class HelloA{

public HelloA()

    {

        System.out.println("I’m A class ");

    }

    static

    {

    System.out.println("static A");

    

}

}

public class HelloB extends HelloA{

    public HelloB()

    {

        System.out.println("I’m B class");

    }

    static{

        

System.out.println("static B");

    }

    public static void main (String[] args){

        new HelloB();

    }

}

 類的初始化順序是:

1、初始化父類中的靜態成員變數和靜態程式碼塊。

2、初始化子類中的靜態成員變數和靜態程式碼塊。

3、初始化父類中的普通成員變數和程式碼塊,在執行父類中的構造方法。

4、初始化子類中的普通成員變數和程式碼塊,在執行子類中的構造方法。

(靜態優先,父類優先)

所以 輸出順序結果為:

static A 

static B   

I’m A class 

I’m B class