
image.png
構(gòu)造代碼塊

image.png
從詞面上我們就可以看出他們的區(qū)別。靜態(tài)代碼塊,靜態(tài),其作用級(jí)別為類,構(gòu)造代碼塊、構(gòu)造函數(shù),構(gòu)造,其作用級(jí)別為對(duì)象。
1、 靜態(tài)代碼塊,它是隨著類的加載而被執(zhí)行,只要類被加載了就會(huì)執(zhí)行,而且只會(huì)加載一次,主要用于給類進(jìn)行初始化。
2、 構(gòu)造代碼塊,每創(chuàng)建一個(gè)對(duì)象時(shí)就會(huì)執(zhí)行一次,且優(yōu)先于構(gòu)造函數(shù),主要用于初始化不同對(duì)象共性的初始化內(nèi)容和初始化實(shí)例環(huán)境。
3、 構(gòu)造函數(shù),每創(chuàng)建一個(gè)對(duì)象時(shí)就會(huì)執(zhí)行一次。同時(shí)構(gòu)造函數(shù)是給特定對(duì)象進(jìn)行初始化,而構(gòu)造代碼是給所有對(duì)象進(jìn)行初始化,作用區(qū)域不同。
通過(guò)上面的分析,他們?nèi)叩膱?zhí)行順序應(yīng)該為:靜態(tài)代碼塊 > 構(gòu)造代碼塊 > 構(gòu)造函數(shù)。