java之普通程式碼塊、構造塊、靜態塊
阿新 • • 發佈:2018-11-10
程式碼塊
定義:{}中定義的一段程式碼
根據程式碼塊出現的位置以及關鍵字不同,分為下面四類程式碼塊
普通程式碼塊
定義在方法中的程式碼塊,解決方法中變數重新命名的問題,瞭解即可,沒什麼意義。
public class 程式碼塊 {
public static void main(String[] args) {
{
int n = 5;
}
int n = 0;
System.out.println(n);
}
}
構造塊
定義在類中的程式碼塊(不參與任何修飾),當有物件產生時,構造塊優先於構造方法執行,產生幾個物件,就呼叫幾次構造塊。作用是在構造方法執行之前進行一些初始化操作。
class A {
public A() {
System.out.println("這裡是建構函式");
}
{
System.out.println("這裡是構造塊");
}
}
靜態程式碼塊
在類中使用static定義的程式碼塊。
非主類的靜態程式碼塊:靜態程式碼塊在類載入時被呼叫,優先於構造快,不管產生多少例項化物件,只會被呼叫一次。
主類中的靜態程式碼塊:主類中的靜態程式碼塊優先於主方法執行。
public class 程式碼塊 { static { System.out.println("這裡是主類靜態塊"); } } class A { public A() { System.out.println("這裡是建構函式"); } static { System.out.println("這裡是非主類靜態塊"); } }
同步程式碼塊(多執行緒同步):
之後更