靜態塊是在類被呼叫到記憶體後開始執行的,它和建立物件或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.在類初始化時,先初始化靜態塊或變數,再初始化非...