java中不管對(duì)象也好,還是基本數(shù)據(jù)類型也好,你聲明它的時(shí)候,它們都稱為變量,在你使用變量前給變量進(jìn)行賦值,這就是變量的初始值,因此叫變量初始化。

創(chuàng)新互聯(lián)主要從事網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)堯都,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):028-86922220
當(dāng)一個(gè)對(duì)象被創(chuàng)建之后,虛擬機(jī)會(huì)為其分配內(nèi)存,主要用來(lái)存放對(duì)象的實(shí)例變量及其從超類繼承過(guò)來(lái)的實(shí)例變量。這些實(shí)例變量分配內(nèi)存的同時(shí),這些實(shí)例變量被賦予默認(rèn)值。
我覺(jué)得你是不是用上了“通假字”,估計(jì)應(yīng)該是——顯式初始化。其意義就是讓程序里面的變量在使用前都要初始化。就是防止沒(méi)有初始化可能造成的問(wèn)題。
就是給你的變量賦一個(gè)相應(yīng)的值。變量類型決定了你應(yīng)該賦一個(gè)什么樣的值。比如 int a = 1;double b = 0;就看你的變量類型是什么了。
一章來(lái)介紹Java初始化。但在大量有代碼實(shí)例后面,感覺(jué)上仍然沒(méi)有真正深入到初始化的本質(zhì)。
1、java中首先是靜態(tài)塊先執(zhí)行,靜態(tài)方法,最后是構(gòu)造函數(shù)。
2、構(gòu)造函數(shù):執(zhí)行時(shí)間比構(gòu)造代碼塊時(shí)間晚,也是在對(duì)象初始化的時(shí)候運(yùn)行。沒(méi)有返回值,構(gòu)造函數(shù)名稱和類名一致。構(gòu)造代碼塊:執(zhí)行時(shí)間比靜態(tài)代碼塊晚,比構(gòu)造函數(shù)早,和構(gòu)造函數(shù)一樣,只在對(duì)象初始化的時(shí)候運(yùn)行。
3、靜態(tài)初始化塊:當(dāng)類第一次加載時(shí)執(zhí)行。非靜態(tài)初始化塊:非靜態(tài)初始化塊會(huì)在構(gòu)造函數(shù)執(zhí)行時(shí),且在構(gòu)造函數(shù)主體代碼執(zhí)行之前被執(zhí)行。區(qū)別如下:執(zhí)行次數(shù)不同 靜態(tài)塊只執(zhí)行一次,初始化塊可以執(zhí)行多次。
4、父類靜態(tài)代碼塊;子類靜態(tài)代碼塊;父類非靜態(tài)代碼塊;父類構(gòu)造函數(shù);子類非靜態(tài)代碼塊;子類構(gòu)造函數(shù);舉例:public class ExA { static { System.out.println(父類靜態(tài)代碼塊。
5、構(gòu)造代碼塊的作用同樣是給對(duì)象進(jìn)行初始化。對(duì)象一建立就運(yùn)行構(gòu)造代碼塊了,而且優(yōu)先于構(gòu)造函數(shù)執(zhí)行。
1、構(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ì)性。
2、構(gòu)造代碼塊與構(gòu)造函數(shù)的區(qū)別是:構(gòu)造代碼塊是給所有對(duì)象進(jìn)行統(tǒng)一初始化,而構(gòu)造函數(shù)是給對(duì)應(yīng)的對(duì)象初始化,因?yàn)闃?gòu)造函數(shù)是可以多個(gè)的,運(yùn)行哪個(gè)構(gòu)造函數(shù)就會(huì)建立什么樣的對(duì)象,但無(wú)論建立哪個(gè)對(duì)象,都會(huì)先執(zhí)行相同的構(gòu)造代碼塊。
3、構(gòu)造函數(shù):執(zhí)行時(shí)間比構(gòu)造代碼塊時(shí)間晚,也是在對(duì)象初始化的時(shí)候運(yùn)行。沒(méi)有返回值,構(gòu)造函數(shù)名稱和類名一致。構(gòu)造代碼塊:執(zhí)行時(shí)間比靜態(tài)代碼塊晚,比構(gòu)造函數(shù)早,和構(gòu)造函數(shù)一樣,只在對(duì)象初始化的時(shí)候運(yùn)行。
4、兩個(gè)都可以初始化值,本質(zhì)上沒(méi)有區(qū)別,不同的是執(zhí)行的先后。
5、且在構(gòu)造函數(shù)主體代碼執(zhí)行之前被執(zhí)行。區(qū)別如下:執(zhí)行次數(shù)不同 靜態(tài)塊只執(zhí)行一次,初始化塊可以執(zhí)行多次。作用不同 靜態(tài)初始化塊僅能初始化類變量,即static修飾的數(shù)據(jù)成員。非靜態(tài)初始化塊可以初始化類的實(shí)例變量。
6、構(gòu)造代碼塊:最早運(yùn)行,比構(gòu)造函數(shù)運(yùn)行的時(shí)間好要提前,和構(gòu)造函數(shù)一樣,只在對(duì)象初始化的時(shí)候運(yùn)行。構(gòu)造函數(shù):運(yùn)行時(shí)間比構(gòu)造代碼塊時(shí)間晚,也是在對(duì)象初始化的時(shí)候運(yùn)行。沒(méi)有返回值,構(gòu)造函數(shù)名稱和類名一致。
文章題目:java初始化代碼塊是 java初始化的作用
文章源于:http://chinadenli.net/article47/deihdej.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷型網(wǎng)站建設(shè)、域名注冊(cè)、微信公眾號(hào)、網(wǎng)站設(shè)計(jì)公司、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)