Java執行static順序


1、定義:

  1、 Java中靜態變量只能在類主體中定義,不能在方法中定義。 靜態變量屬於類所有而不屬於方法。

      2、 靜態塊:用static申明,JVM加載類時執行,僅執行一次

        構造塊:類中直接用{}定義, 每一次創建對象時執行
             執行順序優先級: 靜態塊>main()>構造塊>構造方法
     3、類的加載順序
       (1) 父類靜態對象和靜態代碼塊
       (2) 子類靜態對象和靜態代碼塊
       (3) 父類非靜態對象和非靜態代碼塊
       (4) 父類構造函數
       (5) 子類 非靜態對象和非靜態代碼塊
       (6) 子類構造函數
 
   

2、實例

 
public class Test {
    static int age1 = 1;
 
    static{
        age1 = 10;
        System.out.println("這是靜態代碼塊");
    }
 
    {
        System.out.println("這是普通代碼塊"+age1);
    }
 
    public Test(){
        System.out.println("這是構造方法");
    }
    
    public void fun(){
        System.out.println("這是普通方法fun");
    }
 
    public static void show(){
        System.out.println("這是靜態方法"+age1);
    }
 
    public static void main(String[] args) {
        System.err.println("==============");
        
        Test.show();
        
        Test t=new Test();
        t.fun();
        t.fun();
    }
}


 

3、資料來源:

   Java中Static執行順序:https://blog.csdn.net/u010859650/article/details/81587738

   java中靜態代碼執行順序: https://www.cnblogs.com/sjxbg/p/8831346.html

  Java static執行順序:https://blog.csdn.net/ewzjs/article/details/78150198

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM