構(gòu)造函數(shù):執(zhí)行時(shí)間比構(gòu)造代碼塊時(shí)間晚,也是在對(duì)象初始化的時(shí)候運(yùn)行。沒(méi)有返回值,構(gòu)造函數(shù)名稱和類名一致。
創(chuàng)新互聯(lián)公司專注于獲嘉網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供獲嘉營(yíng)銷型網(wǎng)站建設(shè),獲嘉網(wǎng)站制作、獲嘉網(wǎng)頁(yè)設(shè)計(jì)、獲嘉網(wǎng)站官網(wǎng)定制、重慶小程序開(kāi)發(fā)公司服務(wù),打造獲嘉網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供獲嘉網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
構(gòu)造代碼塊:執(zhí)行時(shí)間比靜態(tài)代碼塊晚,比構(gòu)造函數(shù)早,和構(gòu)造函數(shù)一樣,只在對(duì)象初始化的時(shí)候運(yùn)行。沒(méi)有名字、參數(shù)和返回值。
靜態(tài)代碼塊:最早執(zhí)行,類被載入內(nèi)存時(shí)執(zhí)行,只執(zhí)行一次。沒(méi)有名字、參數(shù)和返回值,有關(guān)鍵字static。
靜態(tài)代碼塊只會(huì)在類被載入內(nèi)存時(shí)加載一次,是最先執(zhí)行的,然后是構(gòu)造代碼塊,最后才是構(gòu)造函數(shù)。構(gòu)造代碼塊和構(gòu)造函數(shù)都是在對(duì)象創(chuàng)建的時(shí)候執(zhí)行,有幾個(gè)對(duì)象就會(huì)執(zhí)行幾次。
靜態(tài)代碼塊:只要一用到某個(gè)類,那么這個(gè)類的靜態(tài)代碼塊就先執(zhí)行,比如:
public class Dog(){
int i = 0;
static {
i = 1;
}
public Dog(){
i = 2;
}
}當(dāng)你new 一個(gè)Dog()對(duì)象時(shí),首先i=
1 會(huì)執(zhí)行,然后才執(zhí)行
public Dog(){}這個(gè)方法。
pulic
Dog() 是與類同名、沒(méi)有返回值的方法,也就是構(gòu)造方法。
構(gòu)造方法的作用是用來(lái)初始化一個(gè)對(duì)象的。比如你可以在里面寫
i
=
2;
那么當(dāng)你 Dog
d
=
new
Dog()執(zhí)行這段代碼的時(shí)候,是這樣的:
首先
i
=
;
然后執(zhí)行static 靜態(tài)代碼塊,此時(shí)i=
1;
最后執(zhí)行public
Dog();
i
=
2;
//構(gòu)造塊:直接在類中定義且沒(méi)有加static關(guān)鍵字的代碼塊稱為{}構(gòu)造代碼塊。構(gòu)造代碼塊在創(chuàng)建對(duì)象時(shí)被調(diào)用,每次創(chuàng)建對(duì)象都會(huì)被調(diào)用,并且構(gòu)造代碼塊的執(zhí)行次序優(yōu)先于類構(gòu)造函數(shù)。\x0d\x0a\x0d\x0apublic class CodeBlock02\x0d\x0a{\x0d\x0a\x0d\x0a {\x0d\x0a\x0d\x0a System.out.println("第一代碼塊");\x0d\x0a \x0d\x0a }\x0d\x0a\x0d\x0apublic CodeBlock02(){\x0d\x0a System.out.println("構(gòu)造方法");\x0d\x0a }\x0d\x0a \x0d\x0a {\x0d\x0a\x0d\x0a System.out.println("第二構(gòu)造塊");\x0d\x0a }\x0d\x0a public static void main(String[] args){\x0d\x0a new CodeBlock02();\x0d\x0a new CodeBlock02();\x0d\x0a new CodeBlock02();\x0d\x0a \x0d\x0a }\x0d\x0a} \x0d\x0a\x0d\x0a/**\x0d\x0a執(zhí)行結(jié)果:\x0d\x0a第一代碼塊\x0d\x0a第二構(gòu)造塊\x0d\x0a構(gòu)造方法\x0d\x0a第一代碼塊\x0d\x0a第二構(gòu)造塊\x0d\x0a構(gòu)造方法\x0d\x0a第一代碼塊\x0d\x0a第二構(gòu)造塊\x0d\x0a構(gòu)造方法*/
構(gòu)造代碼塊:是給所有的對(duì)象進(jìn)行初始化,也就是說(shuō),所有的對(duì)象都會(huì)調(diào)用一個(gè)代碼塊,只要對(duì)象一建立,就會(huì)調(diào)用這個(gè)代碼塊。
構(gòu)造函數(shù):是給與之對(duì)應(yīng)的對(duì)象進(jìn)行初始化,它具有針對(duì)性。