靜態(tài)代碼塊是在類加載時執(zhí)行還是初始化時執(zhí)行?
靜態(tài)代碼塊是在類加載時執(zhí)行的。在Java中,當一個類被加載到內(nèi)存中時,靜態(tài)代碼塊會被執(zhí)行,而不是在類的實例被創(chuàng)建時執(zhí)行。靜態(tài)代碼塊只會執(zhí)行一次,它的主要目的是在類加載時進行一些初始化操作,例如初始化靜態(tài)變量或執(zhí)行一些靜態(tài)方法。
靜態(tài)代碼塊的語法如下:
`java
static {
// 靜態(tài)代碼塊中的初始化操作
靜態(tài)代碼塊可以用來初始化靜態(tài)變量,例如:
`java
public class MyClass {
public static int myStaticVariable;
static {
myStaticVariable = 10;
}
在上面的例子中,靜態(tài)代碼塊初始化了靜態(tài)變量myStaticVariable為10。這樣,在類加載時,靜態(tài)變量就已經(jīng)被初始化了。
需要注意的是,靜態(tài)代碼塊的執(zhí)行順序是按照它們在類中的出現(xiàn)順序來執(zhí)行的。如果一個類中有多個靜態(tài)代碼塊,它們會按照順序依次執(zhí)行。
靜態(tài)代碼塊是在類加載時執(zhí)行的,它用于進行一些類級別的初始化操作,例如初始化靜態(tài)變量。它只會執(zhí)行一次,且按照在類中的出現(xiàn)順序執(zhí)行。