溫馨提示×

Java成員變量靜態代碼塊執行順序怎樣理解

小樊
119
2024-10-12 02:21:48
欄目: 編程語言

在Java中,靜態代碼塊(也稱為靜態初始化器)是一種特殊的代碼段,用于初始化類級別的靜態變量和執行僅需要執行一次的操作。靜態代碼塊在類被加載到JVM時自動執行,且僅執行一次。

靜態代碼塊的執行順序是根據它們在類中的順序。當類被加載時,靜態代碼塊按照它們在代碼中出現的順序依次執行。如果有多個靜態代碼塊,那么它們將按照順序執行,而不是并行執行。

以下是一個簡單的例子,說明了靜態代碼塊的執行順序:

public class MyClass {
    static int a;
    static int b;

    static {
        System.out.println("靜態代碼塊1");
        a = 10;
        System.out.println("靜態代碼塊1 - a = " + a);
    }

    static {
        System.out.println("靜態代碼塊2");
        b = 20;
        System.out.println("靜態代碼塊2 - b = " + b);
    }

    public static void main(String[] args) {
        System.out.println("主方法");
    }
}

輸出結果:

靜態代碼塊1
靜態代碼塊1 - a = 10
靜態代碼塊2
靜態代碼塊2 - b = 20
主方法

從輸出結果可以看出,靜態代碼塊按照它們在類中的順序執行。首先執行靜態代碼塊1,然后執行靜態代碼塊2。在靜態代碼塊中,對靜態變量的賦值操作會在靜態代碼塊執行完畢后才進行。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女