普通代碼塊:在方法或語句中出現(xiàn)的{}就稱為普通代碼塊思灰。普通代碼塊和一般的語句執(zhí)行順序由他們在代碼中出現(xiàn)的次序決定--“先出現(xiàn)先執(zhí)行”;
構(gòu)造塊:直接在類中定義且沒有加static關(guān)鍵字的代碼塊稱為{}構(gòu)造代碼塊。構(gòu)造代碼塊在創(chuàng)建對象時(shí)被調(diào)用混滔,每次創(chuàng)建對象都會(huì)被調(diào)用洒疚,并且構(gòu)造代碼塊的執(zhí)行次序優(yōu)先于類構(gòu)造函數(shù);
靜態(tài)代碼塊:在java中使用static關(guān)鍵字聲明的代碼塊。靜態(tài)塊用于初始化類坯屿,為類的屬性初始化油湖。每個(gè)靜態(tài)代碼塊只會(huì)執(zhí)行一次。由于JVM在加載類時(shí)會(huì)執(zhí)行靜態(tài)代碼塊领跛,所以靜態(tài)代碼塊先于主方法執(zhí)行,如果類中包含多個(gè)靜態(tài)代碼塊肺魁,那么將按照"先定義的代碼先執(zhí)行,后定義的代碼后執(zhí)行";
同步代碼塊:同步代碼塊主要出現(xiàn)在多線程中;
注意:1 靜態(tài)代碼塊不能存在于任何方法體內(nèi)隔节。2 靜態(tài)代碼塊不能直接訪問靜態(tài)實(shí)例變量(非static變量)和實(shí)例方法(非static方法)寂呛,需要通過類的實(shí)例對象來訪問瘾晃。