代碼塊(初始化塊)的作用:對java對象進行初始化。 程式的執行順序 1、聲明成員變數的預設值; 2、顯式初始化、多個初始化塊依次被執行(同級別下按先後順序執行); 3、構造方法再對成員進行賦值操作; 一個類中的初始化塊若有修飾符,則只能被static修飾,稱為靜態代碼塊(static block) ...
代碼塊(初始化塊)的作用:對java對象進行初始化。
程式的執行順序
1、聲明成員變數的預設值;
2、顯式初始化、多個初始化塊依次被執行(同級別下按先後順序執行);
3、構造方法再對成員進行賦值操作;
一個類中的初始化塊若有修飾符,則只能被static修飾,稱為靜態代碼塊(static block),當類被載入時,類屬性的聲明和靜態代碼塊按先後順序執行,且只執行一次。
非靜態代碼塊:
可以有輸出語句;
可以對類的屬性聲明進行初始化操作;
可以調用靜態和非靜態的變數或方法;
若有多個非靜態的代碼塊,那麼按照從上到下的順序一次執行;
每次創建對象的時候,都會執行一次;
靜態代碼塊:
可以有輸出語句;
可以對類的屬性聲明進行初始化操作;
不可以對非靜態的屬性初始化;
靜態代碼塊的執行要先於非靜態代碼塊;
靜態代碼塊只執行一次;
在匿名內部類中,用代碼塊代替構造方法。