java中靜態程式碼塊,構造程式碼塊,區域性程式碼塊等的執行順序以及特點
阿新 • • 發佈:2019-01-22
靜態程式碼塊:在類中方法外出現,並加上static修飾;用於給類進行初始化,在載入的時候就執行,並且只執行一次。,如果一個類中用main方法,靜態程式碼塊要先於main方法執行;
靜態程式碼款示例:
Demo2_Student靜態程式碼塊
我是main方法
Student 靜態程式碼塊
Student 構造程式碼塊
Student 構造方法
Student 構造程式碼塊
Student 構造方法
靜態程式碼款示例:
static {
System.out.print("我是構造程式碼塊!");
}
構造程式碼塊:在類中方法外出現,多個構造方法方法中相同的程式碼存放到一起,每次呼叫構造都執行,並且在構造方法前執行
區域性程式碼塊:在方法中出現;限定變數生命週期,及早釋放,提高記憶體利用率
那麼我們可以總結一下各種程式碼塊的執行順序:
①靜態程式碼塊,
②如果有main方法,執行main方法,
③構造程式碼塊,每次呼叫構造方法都會呼叫,
④構造方法
看看下面的程式碼的結果是什麼呢?
class Student {
static {
System.out.println("Student 靜態程式碼塊");
}
{
System.out.println("Student 構造程式碼塊");
}
public Student() {
System.out.println("Student 構造方法");
}
}
class Demo2_Student {
static {
System.out.println("Demo2_Student靜態程式碼塊");
}
public static void main(String[] args) {
System.out.println("我是main方法");
Student s1 = new Student();
Student s2 = new Student();
}
}
我是main方法
Student 靜態程式碼塊
Student 構造程式碼塊
Student 構造方法
Student 構造程式碼塊
Student 構造方法