JAVA靜態塊和非靜態塊的區別

2021-05-24 13:17:25 字數 760 閱讀 5278

靜態塊是在類被呼叫到記憶體後開始執行的,它和建立物件或main方法都沒有關係。

如果沒有

main

方法,程式仍然編譯成功,但執行錯誤。

靜態塊一般用於初始化類中的靜態成員,而非晶態塊一般用於初始化類中的非靜態成員。

另外,非靜態塊是在建立物件時自動執行的**。

public class staticblock1

public static void main(string args)}

/**靜態塊是在類被呼叫到記憶體後開始執行的,它和建立物件或main方法都沒有關係。

如果沒有

main

方法,程式仍然編譯成功,但執行錯誤。

上例中,執行結果為:static block

main

*/非靜態塊(

non-static block)

public class nonstaticblock1

nonstaticblock1()

public static void main(string args)}

/**靜態塊一般用於初始化類中的靜態成員,而非晶態塊一般用於初始化類中的非靜態成員。

另外,非靜態塊是在建立物件時自動執行的**。

上例中,執行結果為:non static block

constructor

main

*///靜態塊(static block):如下所示

JAVA靜態塊和非靜態塊的區別

靜態塊 static block 如下所示 public class staticblock1 public static void main string args 靜態塊是在類被呼叫到記憶體後開始執行的,它和建立物件或main方法都沒有關係。如果沒有 main 方法,程式仍然編譯成功,但執行錯誤...

靜態塊與非靜態塊

在 中,有時候會遇到這種情況,static 以及不帶static的情況 public class staticblock 非靜態塊 public static void main string args 列印出來的結果是 這是靜態塊裡的內容!這是非靜態塊裡的內容!這是非靜態塊裡的內容!這是非靜態塊裡...

靜態塊(變數)和非靜態塊(變數)

package staticinit.one public class main1 class staticorinstance static public staticorinstance class mug public mug int i 注 1.在類初始化時,先初始化靜態塊或變數,再初始化非...