靜態塊 簡單例子

一個簡單的例子

1. 所有靜態的(無論其是變量還是塊)都按順序執行.

2. 所有的非靜態的塊都在靜態的(無論其是變量還是塊)後執行.

3. 所有的塊(無論是靜態的還是非靜態的)都在構造之前執行.

4. 靜態塊在類被加載到內存後就開始執行

5. 非靜態塊是在創建對象時,構造之前被調用

 
Java代碼  收藏代碼
  1. public class TestStaticMode {  
  2.     public TestStaticMode() {  
  3.         System.out.println("in structure");  
  4.     }  
  5.   
  6.     static int i = 0;  
  7.   
  8.     {  
  9.         System.out.println("in first no static i=" + i);  
  10.     }  
  11.   
  12.     static {  
  13.         i = 1;  
  14.         System.out.println("in static i=" + i);  
  15.     }  
  16.   
  17.     {  
  18.         System.out.println("in second no static i=" + i);  
  19.     }  
  20.   
  21.     public static void main(String args[]) {  
  22.         TestStaticMode testStaticMode = new TestStaticMode();  
  23.         System.out.println("i=" + i);  
  24.   
  25.     }  
  26. }  
public class TestStaticMode {
	public TestStaticMode() {
		System.out.println("in structure");
	}

	static int i = 0;

	{
		System.out.println("in first no static i=" + i);
	}

	static {
		i = 1;
		System.out.println("in static i=" + i);
	}

	{
		System.out.println("in second no static i=" + i);
	}

	public static void main(String args[]) {
		TestStaticMode testStaticMode = new TestStaticMode();
		System.out.println("i=" + i);

	}
}
 




輸出爲:
in static i=1
in first no static i=1
in second no static i=1
in structure
i=1 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章