更新時(shí)間:2023-08-31 來(lái)源:黑馬程序員 瀏覽量:
代碼塊是類(lèi)的5大成分之一(成員變量、構(gòu)造器,方法,代碼塊,內(nèi)部類(lèi)),定義在類(lèi)中方法外。在Java類(lèi)下,使用 { } 括起來(lái)的代碼被稱(chēng)為代碼塊。
Java中的代碼塊分為靜態(tài)代碼塊和構(gòu)造代碼塊,具體介紹如下:靜態(tài)代碼塊:
格式:static{ }
特點(diǎn):需要通過(guò)static關(guān)鍵字修飾,隨著類(lèi)的加載而加載,并且自動(dòng)觸發(fā)、只執(zhí)行一次
使用場(chǎng)景:在類(lèi)加載的時(shí)候做一些靜態(tài)數(shù)據(jù)初始化的操作,以便后續(xù)使用。
構(gòu)造代碼塊(了解,見(jiàn)的少):
格式:{ }
特點(diǎn):每次創(chuàng)建對(duì)象,調(diào)用構(gòu)造器執(zhí)行時(shí),都會(huì)執(zhí)行該代碼塊中的代碼,并且在構(gòu)造器執(zhí)行前執(zhí)行
使用場(chǎng)景:初始化實(shí)例資源。
例如斗地主的游戲,在啟動(dòng)游戲房間的時(shí)候,應(yīng)該提前準(zhǔn)備好54張牌,后續(xù)才可以直接使用這些牌數(shù)據(jù)。
該房間只需要一副牌。定義一個(gè)靜態(tài)的ArrayList集合存儲(chǔ)54張牌對(duì)象,靜態(tài)的集合只會(huì)加載一份。在啟動(dòng)游戲房間前,應(yīng)該將54張牌初始化好。當(dāng)系統(tǒng)啟動(dòng)的同時(shí)需要準(zhǔn)備好54張牌數(shù)據(jù),此時(shí)可以用靜態(tài)代碼塊完成。
如果要在啟動(dòng)系統(tǒng)時(shí)對(duì)靜態(tài)資源進(jìn)行初始化,則建議使用靜態(tài)代碼塊完成數(shù)據(jù)的初始化操作。