天天看點

Java靜态代碼塊執行方法和順序

  1. 執行代碼塊格式:
static{
    procudure...
}           

複制

特點: 随着類的加載而執行,且隻執行一次,并優先于主函數。用于給類初始化。
  1. 執行順序:

示例:

靜态代碼塊随着類的加載而加載

有多個靜态代碼塊的,按代碼塊前後順序加載

一個代碼塊,隻執行一次

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");
    }
}           

複制

輸出:

y
z
x
over           

複制

參考資料