java-構造代碼塊 原

構造代碼塊

直接在類中定義且沒有加static關鍵字的代碼塊稱爲{}構造代碼塊。
構造代碼塊在創建對象時被調用,每次創建對象都會被調用,並且構造代碼塊的執行次序優先於類構造函數。

public class Client {  
    {//構造代碼塊  
        System.out.println("執行構造代碼塊");  
    }

    public Client() {  
        System.out.println("執行無參構造函數");  
    }

    public Client(String string) {  
        System.out.println("執行有參構造函數");  
    }  
}  
相當於  
public class Client {

    public Client() {  
        System.out.println("執行構造代碼塊");  
        System.out.println("執行無參構造函數");  
    }

    public Client(String string) {  
        System.out.println("執行構造代碼塊");  
        System.out.println("執行有參構造函數");  
    }  
}

使用示例:使用匿名類的構造代碼塊

List l2 = new ArrayList(){}; //定義了一個繼承於ArrayList的匿名類,只是沒有任何的覆寫方法而已  
ArrayList<String> lst = new ArrayList<String>() {  
    {  
        add(new String("aaa"));  
        add(new String("bbb"));  
        add(new String("ccc"));  
    }  
}; //定義了一個繼承於ArrayList的匿名類,並且包含一個初始化構造代碼塊
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章