靜態代碼塊、靜態變量、構造方法及構造塊執行順序


靜態代碼塊、靜態變量、構造方法及構造塊均是在類被加載的時候初始化。

靜態塊在類被重復調用的時候只會加載一次。

靜態代碼塊和靜態變量的執行順序是按代碼先后順序執行的。

 

 1 package cnom.test.testUtils;
 2 
 3 public class TestStaticLoadSort {
 4 
 5     private static String str = "h";
 6 
 7     public TestStaticLoadSort() {
 8         System.out.println("構造方法.");
 9     }
10 
11     static {
12         str += "i";
13         System.out.println("靜態塊");
14     }
15 
16     {
17         System.out.println("構造塊");
18     }
19 
20     public static void main(String[] args) {
21         TestStaticLoadSort tss = new TestStaticLoadSort();
22         System.out.println(tss.str);
23         TestStaticLoadSort tss1 = new TestStaticLoadSort();
24     }
25     /**
26      * ===============輸出結果=============
27      * 靜態塊
28      * 構造塊
29      * 構造方法.
30      * hi
31      * 構造塊
32      * 構造方法.
33      */
34 }

總結執行先后順序為:靜態塊/靜態變量>構造塊>構造方法。

 


免責聲明!

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



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