在這個類第一次被調(diào)用或?qū)嵗臅r候就會被執(zhí)行。靜態(tài)代碼塊只會執(zhí)行一次,一般會用來初始化一些值,并且在所有對象中全局共享。
創(chuàng)新互聯(lián)2013年至今,是專業(yè)互聯(lián)網(wǎng)技術服務公司,擁有項目網(wǎng)站設計制作、成都網(wǎng)站設計網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元博野做網(wǎng)站,已為上家服務,為博野各地企業(yè)和個人服務,聯(lián)系電話:028-86922220
用static修飾的代碼塊表示靜態(tài)代碼塊,當Java虛擬機(JVM)加載類時,就會執(zhí)行該代碼塊(用處非常大)。
Java靜態(tài)代碼塊的作用:Java靜態(tài)代碼塊中的代碼會在類加載JVM時運行,且只被執(zhí)行一次,也就是說這些代碼不需要實例化類就能夠被調(diào)用。一般情況下,如果有些代碼必須在項目啟動的時候就執(zhí)行的時候,就需要使用靜態(tài)代碼塊。
static代碼塊是在類初始化時就被虛擬機執(zhí)行的,所以最先輸出的是d。main方法是靜態(tài)方法,是在類加載完之后由虛擬機調(diào)用的,調(diào)用之后才會輸出c1。
先說執(zhí)行順序:我們在new一個對象時,如果類還沒加載,就需要先將類加載到內(nèi)存,此時就會執(zhí)行靜態(tài)代碼塊,在創(chuàng)建對象時,是先執(zhí)行代碼塊,然后執(zhí)行構(gòu)造器。
1、此時就會執(zhí)行靜態(tài)代碼塊,在創(chuàng)建對象時,是先執(zhí)行代碼塊,然后執(zhí)行構(gòu)造器。所以靜態(tài)代碼塊、代碼塊、構(gòu)造器的執(zhí)行順序是:靜態(tài)代碼塊→代碼塊→構(gòu)造器。
2、靜態(tài)代碼塊只會在類被載入內(nèi)存時加載一次,是最先執(zhí)行的,然后是構(gòu)造代碼塊,最后才是構(gòu)造函數(shù)。構(gòu)造代碼塊和構(gòu)造函數(shù)都是在對象創(chuàng)建的時候執(zhí)行,有幾個對象就會執(zhí)行幾次。
3、java中首先是靜態(tài)塊先執(zhí)行,靜態(tài)方法,最后是構(gòu)造函數(shù)。
1、首先靜態(tài)代碼塊static{...}是在類被裝載的時候執(zhí)行,且只執(zhí)行一次;靜態(tài)代碼塊是在內(nèi)存中開辟的一塊公共區(qū)域,類的多個實例共享的區(qū)域,任何該類的實例對該區(qū)域的操作都對所有所有該類的實例對該區(qū)域的操作都是生效的。
2、Java也是一樣,Java的.class字節(jié)碼文件要想執(zhí)行,首先也要加載到內(nèi)存,由類加載器把字節(jié)碼文件的代碼加載到內(nèi)存中,這一步就叫類加載,這是首先要進行的。
3、用static修飾的代碼塊表示靜態(tài)代碼塊,當Java虛擬機(JVM)加載類時,就會執(zhí)行該代碼塊(用處非常大)。
當前名稱:java選擇執(zhí)行代碼塊 java 選擇
URL標題:http://chinadenli.net/article39/dejgjph.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、搜索引擎優(yōu)化、網(wǎng)站設計、網(wǎng)頁設計公司、靜態(tài)網(wǎng)站、標簽優(yōu)化
聲明:本網(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)