1. 程式人生 > >關於 static 靜態程式碼塊的一點東西

關於 static 靜態程式碼塊的一點東西

靜態程式碼塊(static block ),不包含在任何方法體中當類被載入時,自動執行靜態程式碼塊,且只被執行一次經常用於類屬性的初始化。 這是網上通行的關於靜態程式碼塊的定義。
在Java中,類裝載器把一個類裝入Java虛擬機器中,要經過三個步驟來完成:裝載、連結和初始化,其中連結又可以分成校驗、準備和解析三步,除了解析外,其它步驟是嚴格按照順序完成的,各個步驟的主要工作如下:


裝載:查詢和匯入類或介面的二進位制資料;

連結:執行下面的校驗、準備和解析步驟,其中解析步驟是可以選擇的;

校驗:檢查匯入類或介面的二進位制資料的正確性;

準備:給類的靜態變數分配並初始化儲存空間;

解析:將符號引用轉成直接引用;

初始化:啟用類的靜態變數的初始化Java程式碼和靜態Java程式碼塊。

初始化類中屬性是靜態程式碼塊的常用用途,但只能使用一次。

[轉]http://www.blogjava.net/lazhgg/archive/2006/06/05/50550.html