Java 程序中時常用些 static{}這樣的結構。
這樣的結構叫 static塊,一般是一個類初始化時運行的代碼。注意,是類的初始化,不是對象的初始化。
也就是你在定義對象時,他運行的初始化代碼,并且只有第一次定義時才運行。之后就不再運行初始化了。
一個類中可以有很多static塊。static塊按順序執行。
看以下代碼:
public class TestStatic{
static{
System.out.println(1);
}
static {
System.out.println(2);
}
static {
Stystem.out.println(3);
}
public static void main(String args[]){
System.out.println(5);
}
static {
System.out.println(4);
}
}
執行結果是:
1
2
3
4
5
一目了然,首先調用的是static靜態塊的代碼,然后調用啟動方法,而STATIC塊的執行順序是由代碼的編寫順序執行的過程,STATIC塊大家用的比較少,其實就是在對象生成之際產生的一系列的STATIC變量。