更多 Java 基礎(chǔ)知識(shí)方面的文章佑惠,請(qǐng)參見(jiàn)文集《Java 基礎(chǔ)知識(shí)》
- static 變量:靜態(tài)變量憋飞,屬于類敏弃,在內(nèi)存中只有一份拷貝
- static final 變量:全局變量笛辟,不可修改
- 如果為 static final 變量羽利,則不能在構(gòu)造方法里初始化宫患,只能在 聲明時(shí)初始化 或者 在 static 代碼塊中初始化,例如:
public class Final_Test {
public static final int i;
static {
i = 10;
}
public Final_Test() {
}
}
-
static 方法:靜態(tài)方法这弧,屬于類:
- static 方法不能訪問(wèn) this, super
- static 方法不能訪問(wèn) 非靜態(tài)變量和非靜態(tài)方法
- static 方法不能為抽象方法娃闲,必須被實(shí)現(xiàn)
static final 方法:不可覆蓋
-
static 代碼塊:靜態(tài)代碼塊,屬于類
- 不在任何方法體中
- JVM 加載類時(shí)自動(dòng)執(zhí)行(類的初始化匾浪,不是對(duì)象的初始化)
- 如果有多個(gè)靜態(tài)代碼塊皇帮,按代碼中的先后順序執(zhí)行