1、static{...}是靜態(tài)塊,而只有{...}的是叫做構(gòu)造塊。靜態(tài)塊在一個(gè)程序里面只執(zhí)行一次;而構(gòu)造塊是,只要建立一個(gè)對象,構(gòu)造代碼塊都會(huì)執(zhí)行一次。
創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比青白江網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式青白江網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋青白江地區(qū)。費(fèi)用合理售后完善,十載實(shí)體公司更值得信賴。
2、直接將代碼用{}的方式包裹起來,俗稱代碼塊,其可以分離作用域,即實(shí)現(xiàn)同名變量間不相互干擾。可以用在類體和方法體。
3、代碼塊是一種常見的代碼形式。他用大括號(hào)“{}”將多行代碼封裝在一起,形成一個(gè)獨(dú)立的代碼區(qū),這就構(gòu)成了代碼塊。
4、是語句結(jié)束符號(hào)。{是代碼塊或類型及方法的開始標(biāo)記,代碼塊指方法中出現(xiàn)的做為一個(gè)整體的代碼的集合,如循環(huán)中出現(xiàn)的。要說有共同之處,那就是它們都是JAVA語言中的標(biāo)記。
1、java中首先是靜態(tài)塊先執(zhí)行,靜態(tài)方法,最后是構(gòu)造函數(shù)。
2、構(gòu)造代碼塊:執(zhí)行時(shí)間比靜態(tài)代碼塊晚,比構(gòu)造函數(shù)早,和構(gòu)造函數(shù)一樣,只在對象初始化的時(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í)行多次。
4、你說的初試化如果是非靜態(tài)的,好像不常用!靜態(tài)代碼塊倒是常用一點(diǎn)。因?yàn)殪o態(tài)代碼塊在加載類的時(shí)候運(yùn)行,就意味著靜態(tài)代碼塊在程序中只會(huì)運(yùn)行一次。這樣我們經(jīng)常用它來初始化參數(shù),例如加載配置文件中的數(shù)據(jù)等。
5、static { System.out.println(子類靜態(tài)代碼塊。);} { System.out.println(子類非靜態(tài)代碼塊。);} public ExB() { System.out.println(子類構(gòu)造函數(shù)。);} } 執(zhí)行結(jié)果:父類靜態(tài)代碼塊。子類靜態(tài)代碼塊。
6、執(zhí)行順序 構(gòu)造函數(shù)-靜態(tài)塊-靜態(tài)函數(shù) 靜態(tài)塊在實(shí)例化時(shí)侯不執(zhí)行。
首先靜態(tài)代碼塊static{...}是在類被裝載的時(shí)候執(zhí)行,且只執(zhí)行一次;靜態(tài)代碼塊是在內(nèi)存中開辟的一塊公共區(qū)域,類的多個(gè)實(shí)例共享的區(qū)域,任何該類的實(shí)例對該區(qū)域的操作都對所有所有該類的實(shí)例對該區(qū)域的操作都是生效的。
Java也是一樣,Java的.class字節(jié)碼文件要想執(zhí)行,首先也要加載到內(nèi)存,由類加載器把字節(jié)碼文件的代碼加載到內(nèi)存中,這一步就叫類加載,這是首先要進(jìn)行的。
用static修飾的代碼塊表示靜態(tài)代碼塊,當(dāng)Java虛擬機(jī)(JVM)加載類時(shí),就會(huì)執(zhí)行該代碼塊(用處非常大)。
兩者的區(qū)別就是:靜態(tài)代碼塊是自動(dòng)執(zhí)行的;靜態(tài)方法是被調(diào)用的時(shí)候才執(zhí)行的.靜態(tài)方法 (1)在Java里,可以定義一個(gè)不需要?jiǎng)?chuàng)建對象的方法,這種方法就是靜態(tài)方法。
構(gòu)造器的執(zhí)行順序是:靜態(tài)代碼塊→代碼塊→構(gòu)造器。再說作用:靜態(tài)代碼塊是用于初始化類的(在加載類時(shí)執(zhí)行,只執(zhí)行一次),代碼塊是用于初始化對象的(在創(chuàng)建對象時(shí)執(zhí)行,每次創(chuàng)建對象時(shí)都執(zhí)行),構(gòu)造器是用于創(chuàng)建對象的。
本文標(biāo)題:java中類的代碼塊 java代碼組成
鏈接地址:http://chinadenli.net/article16/dejijdg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)、網(wǎng)站設(shè)計(jì)公司、定制開發(fā)、網(wǎng)站排名、企業(yè)建站、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)