1、java中首先是靜態(tài)塊先執(zhí)行,靜態(tài)方法,最后是構(gòu)造函數(shù)。
創(chuàng)新互聯(lián)建站憑借在網(wǎng)站建設(shè)、網(wǎng)站推廣領(lǐng)域領(lǐng)先的技術(shù)能力和多年的行業(yè)經(jīng)驗(yàn),為客戶提供超值的營(yíng)銷型網(wǎng)站建設(shè)服務(wù),我們始終認(rèn)為:好的營(yíng)銷型網(wǎng)站就是好的業(yè)務(wù)員。我們已成功為企業(yè)單位、個(gè)人等客戶提供了網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)服務(wù),以良好的商業(yè)信譽(yù),完善的服務(wù)及深厚的技術(shù)力量處于同行領(lǐng)先地位。
2、構(gòu)造代碼塊:執(zhí)行時(shí)間比靜態(tài)代碼塊晚,比構(gòu)造函數(shù)早,和構(gòu)造函數(shù)一樣,只在對(duì)象初始化的時(shí)候運(yùn)行。沒有名字、參數(shù)和返回值。靜態(tài)代碼塊:最早執(zhí)行,類被載入內(nèi)存時(shí)執(zhí)行,只執(zhí)行一次。沒有名字、參數(shù)和返回值,有關(guān)鍵字static。
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í)行多次。
1、static修飾的變量是靜態(tài)變量,在其類被加載的時(shí)候進(jìn)行初始化動(dòng)作。上圖就是類進(jìn)行加載初始化時(shí)機(jī)。類只加載一次直到被卸載。你上面的代碼,如果把main方法放到另一個(gè)class中,你會(huì)發(fā)現(xiàn)只打印hello。
2、從主類public class StaticInitialization 中的開始main函數(shù)開始。
3、用static修飾的代碼塊表示靜態(tài)代碼塊,當(dāng)Java虛擬機(jī)(JVM)加載類時(shí),就會(huì)執(zhí)行該代碼塊(用處非常大,呵呵)。
4、static final常量是對(duì)象實(shí)例化的時(shí)候初始化 public class StaticAndFinalTest { private static Random rand = new Random(47); //47作為隨機(jī)種子,為的就是產(chǎn)生隨機(jī)數(shù)。
1、構(gòu)造代碼塊:是給所有的對(duì)象進(jìn)行初始化,也就是說,所有的對(duì)象都會(huì)調(diào)用一個(gè)代碼塊,只要對(duì)象一建立,就會(huì)調(diào)用這個(gè)代碼塊。構(gòu)造函數(shù):是給與之對(duì)應(yīng)的對(duì)象進(jìn)行初始化,它具有針對(duì)性。
2、構(gòu)造函數(shù):執(zhí)行時(shí)間比構(gòu)造代碼塊時(shí)間晚,也是在對(duì)象初始化的時(shí)候運(yùn)行。沒有返回值,構(gòu)造函數(shù)名稱和類名一致。構(gòu)造代碼塊:執(zhí)行時(shí)間比靜態(tài)代碼塊晚,比構(gòu)造函數(shù)早,和構(gòu)造函數(shù)一樣,只在對(duì)象初始化的時(shí)候運(yùn)行。
3、構(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ì)象,但無論建立哪個(gè)對(duì)象,都會(huì)先執(zhí)行相同的構(gòu)造代碼塊。
4、兩個(gè)都可以初始化值,本質(zhì)上沒有區(qū)別,不同的是執(zhí)行的先后。
5、且在構(gòu)造函數(shù)主體代碼執(zhí)行之前被執(zhí)行。區(qū)別如下:執(zhí)行次數(shù)不同 靜態(tài)塊只執(zhí)行一次,初始化塊可以執(zhí)行多次。作用不同 靜態(tài)初始化塊僅能初始化類變量,即static修飾的數(shù)據(jù)成員。非靜態(tài)初始化塊可以初始化類的實(shí)例變量。
6、你說的初試化如果是非靜態(tài)的,好像不常用!靜態(tài)代碼塊倒是常用一點(diǎn)。因?yàn)殪o態(tài)代碼塊在加載類的時(shí)候運(yùn)行,就意味著靜態(tài)代碼塊在程序中只會(huì)運(yùn)行一次。這樣我們經(jīng)常用它來初始化參數(shù),例如加載配置文件中的數(shù)據(jù)等。
文章題目:初始化代碼塊java java初始化塊有什么用
本文URL:http://chinadenli.net/article26/degjsjg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、網(wǎng)站設(shè)計(jì)、營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航、微信公眾號(hào)、做網(wǎng)站
聲明:本網(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í)需注明來源: 創(chuàng)新互聯(lián)