- 想到哪記到哪
static關(guān)鍵字
靜態(tài)變量:
- 屬于一個(gè)類讨盒,而不是這個(gè)類的對(duì)象,類無(wú)論被初始化多少次 這個(gè)變量都在這個(gè)類的所有對(duì)象中共享步责。
- 直接通過(guò)類名來(lái)訪問(wèn)返顺,不需要初始化這個(gè)類才能訪問(wèn)
- 靜態(tài)變量存儲(chǔ)在java虛擬機(jī)中 的元空間中
靜態(tài)方法:
- 在編譯時(shí)解析
- 同樣屬于一個(gè)類禀苦,而不是類的對(duì)象
- 靜態(tài)方法不能被重寫
- 成員方法可以訪問(wèn)靜態(tài)方法和靜態(tài)變量
- 靜態(tài)方法可以方法其他靜態(tài)方法和變量,無(wú)法訪問(wèn)普通方法變量
靜態(tài)代碼塊:
- 在類加載的時(shí)候就調(diào)用遂鹊,而且只會(huì)調(diào)用一次
- 幫助初始化靜態(tài)變量
- 一個(gè)類可以有多個(gè)靜態(tài)代碼塊振乏,執(zhí)行順序和代碼順序一致
靜態(tài)內(nèi)部類:
- 靜態(tài)內(nèi)部類可以訪問(wèn)外部類的靜態(tài)方法 靜態(tài)變量
- 不能訪問(wèn)外部類的普通方法
- 外部類不能是static
調(diào)用靜態(tài)方法、靜態(tài)變量的時(shí)候jvm會(huì)去進(jìn)行類加載秉扑,需要知道學(xué)習(xí)類的加載時(shí)機(jī)
類在什么時(shí)候加載慧邮,類的加載時(shí)間
- 實(shí)例化對(duì)象,new 一個(gè)對(duì)象的時(shí)候
- 訪問(wèn)類的靜態(tài)變量
- 訪問(wèn)類的靜態(tài)方法
- 初始化類的子類
- 虛擬機(jī)啟動(dòng)的時(shí)候舟陆,定義了main方法的那個(gè)類
- 反射