static{ procudure... }
特色: 隨着類的加載而執行,且只執行一次,並優先於主函數。用於給類初始化。html
示例:
靜態代碼塊隨着類的加載而加載
有多個靜態代碼塊的,按代碼塊先後順序加載
一個代碼塊,只執行一次函數
class StaticCode1{ static{ System.out.println("x"); } } public class StaticDemo1{ static{ //第一步,先加載主函數所在類,因此先加載並執行這段靜態代碼塊。 System.out.println("y"); } public static void main(String[] args){ new StaticCode1(); //第三步,加載StaticCode1類 new StaticCode1(); //第四步,類只加載一次,靜態代碼塊只執行一次,這裏再也不執行 System.ou.println("over"); //第五步,輸出打印 } static{ //第二步,多個靜態代碼塊,按前後順序執行 System.out.println("z"); } }
輸出:code
y z x over
參考資料htm