1、Java靜態(tài)代碼塊的用法:一個類可以使用不包含在任何方法體中的靜態(tài)代碼塊,當類被載入時,靜態(tài)代碼塊被執(zhí)行,且只被執(zhí)行一次,靜態(tài)塊常用來執(zhí)行類屬性的初始化。
成都創(chuàng)新互聯(lián)主營浙江網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app軟件定制開發(fā),浙江h(huán)5小程序開發(fā)搭建,浙江網(wǎng)站營銷推廣歡迎浙江等地區(qū)企業(yè)咨詢
2、用static修飾的代碼塊表示靜態(tài)代碼塊,當Java虛擬機(JVM)加載類時,就會執(zhí)行該代碼塊(用處非常大)。
3、當調(diào)用靜態(tài)方法時,首先執(zhí)行靜態(tài)類屬性,static代碼塊也相當于一個類屬性(我是這樣理解的);執(zhí)行的順序是你屬性的排列順序。
4、Java中一個語句塊內(nèi)聲明的變量只能在該語句塊內(nèi)使用,無法在其外部使用。這是因為Java采用了基于塊作用域的命名規(guī)則。
5、且在構(gòu)造函數(shù)主體代碼執(zhí)行之前被執(zhí)行。區(qū)別如下:執(zhí)行次數(shù)不同 靜態(tài)塊只執(zhí)行一次,初始化塊可以執(zhí)行多次。作用不同 靜態(tài)初始化塊僅能初始化類變量,即static修飾的數(shù)據(jù)成員。非靜態(tài)初始化塊可以初始化類的實例變量。
6、類加載的時候就會去執(zhí)行靜態(tài)代碼塊的內(nèi)容。比如說:寫連接數(shù)據(jù)庫的那些內(nèi)容時,經(jīng)常有classforName(XXX),用于加載一些東西,這些東西就可以寫在靜態(tài)代碼塊中。還有一些,你想讓類加載時就執(zhí)行的程序也可以放在里面。
Java靜態(tài)代碼塊的作用:Java靜態(tài)代碼塊中的代碼會在類加載JVM時運行,且只被執(zhí)行一次,也就是說這些代碼不需要實例化類就能夠被調(diào)用。一般情況下,如果有些代碼必須在項目啟動的時候就執(zhí)行的時候,就需要使用靜態(tài)代碼塊。
首先靜態(tài)代碼塊static{...}是在類被裝載的時候執(zhí)行,且只執(zhí)行一次;靜態(tài)代碼塊是在內(nèi)存中開辟的一塊公共區(qū)域,類的多個實例共享的區(qū)域,任何該類的實例對該區(qū)域的操作都對所有所有該類的實例對該區(qū)域的操作都是生效的。
Java也是一樣,Java的.class字節(jié)碼文件要想執(zhí)行,首先也要加載到內(nèi)存,由類加載器把字節(jié)碼文件的代碼加載到內(nèi)存中,這一步就叫類加載,這是首先要進行的。
兩者的區(qū)別就是:靜態(tài)代碼塊是自動執(zhí)行的;靜態(tài)方法是被調(diào)用的時候才執(zhí)行的.靜態(tài)方法 (1)在Java里,可以定義一個不需要創(chuàng)建對象的方法,這種方法就是靜態(tài)方法。
類加載的時候就會去執(zhí)行靜態(tài)代碼塊的內(nèi)容。比如說:寫連接數(shù)據(jù)庫的那些內(nèi)容時,經(jīng)常有classforName(XXX),用于加載一些東西,這些東西就可以寫在靜態(tài)代碼塊中。還有一些,你想讓類加載時就執(zhí)行的程序也可以放在里面。
java中首先是靜態(tài)塊先執(zhí)行,靜態(tài)方法,最后是構(gòu)造函數(shù)。
構(gòu)造代碼塊:執(zhí)行時間比靜態(tài)代碼塊晚,比構(gòu)造函數(shù)早,和構(gòu)造函數(shù)一樣,只在對象初始化的時候運行。沒有名字、參數(shù)和返回值。靜態(tài)代碼塊:最早執(zhí)行,類被載入內(nèi)存時執(zhí)行,只執(zhí)行一次。沒有名字、參數(shù)和返回值,有關(guān)鍵字static。
靜態(tài)初始化塊:當類第一次加載時執(zhí)行。非靜態(tài)初始化塊:非靜態(tài)初始化塊會在構(gòu)造函數(shù)執(zhí)行時,且在構(gòu)造函數(shù)主體代碼執(zhí)行之前被執(zhí)行。區(qū)別如下:執(zhí)行次數(shù)不同 靜態(tài)塊只執(zhí)行一次,初始化塊可以執(zhí)行多次。
本文標題:Java代碼塊調(diào)用 java中代碼塊是什么意思
本文路徑:http://chinadenli.net/article13/degghds.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、ChatGPT、網(wǎng)頁設(shè)計公司、關(guān)鍵詞優(yōu)化、小程序開發(fā)、網(wǎng)站設(shè)計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)