1.概述
代碼塊也是屬于類中的成員(即是類的一部分),類似于方法,將邏輯語(yǔ)句封裝在方法體中,通過(guò){}包圍起來(lái)。在類加載時(shí)或創(chuàng)建對(duì)象時(shí)隱式調(diào)用。
下面為主要代碼塊的格式與詳細(xì)解析概述:
2.主要應(yīng)用順序:
分析應(yīng)用場(chǎng)景:當(dāng)所在的類中的需要進(jìn)行一些必要的操作時(shí),可以通過(guò)放在代碼塊來(lái)進(jìn)行,而不用通過(guò)給每個(gè)構(gòu)造器放入相同的語(yǔ)句,會(huì)顯得比較多余。
應(yīng)用順序:無(wú)論創(chuàng)建對(duì)象時(shí),都會(huì)優(yōu)先調(diào)用代碼塊中的內(nèi)容。這里當(dāng)你運(yùn)用代碼塊時(shí),是需要將調(diào)用構(gòu)造器時(shí)候會(huì)自動(dòng)先調(diào)用代碼塊。
3.代碼塊的注意事項(xiàng)和細(xì)節(jié)議論
靜態(tài)代碼塊:
static代碼塊也叫靜態(tài)代碼塊,作用是對(duì)類的進(jìn)行初始化,并且隨著類的加載而執(zhí)行,且只執(zhí)行一次.(普通的代碼塊,會(huì)每創(chuàng)建一個(gè)對(duì)象就會(huì)執(zhí)行一次)。
圖片詳細(xì)說(shuō)明:
代碼塊主要細(xì)節(jié)事項(xiàng):
其中:普通的代碼塊只會(huì)在創(chuàng)建對(duì)象時(shí)候才會(huì)被調(diào)用,而且每創(chuàng)建一次就要調(diào)用一次。類加載時(shí)則不會(huì)執(zhí)行。
最重要的就是一個(gè)類里面的靜態(tài)代碼塊,靜態(tài)屬性初始化的優(yōu)先級(jí)是一樣的,如果有多個(gè)時(shí),則按定義額順序調(diào)用。還有普通代碼塊和普通屬性初始化則也是如此。靜態(tài)會(huì)優(yōu)先于普通,最后再是構(gòu)造器。
主要是講的在一個(gè)類中的構(gòu)造器中會(huì)優(yōu)先訪問(wèn)父類的構(gòu)造器,然后再訪問(wèn)本類的普通代碼塊,最后再執(zhí)行構(gòu)造器的代碼。
主要是對(duì)于創(chuàng)建一個(gè)子類對(duì)象時(shí)候,所調(diào)用的順序。
主要是講的在靜態(tài)代碼塊中只能調(diào)用靜態(tài)的成員(靜態(tài)屬性與靜態(tài)方法),普通代碼塊可以調(diào)用靜態(tài)和非靜態(tài)的。
到此這篇關(guān)于java 淺析代碼塊的由來(lái)及用法的文章就介紹到這了,更多相關(guān)Java 代碼塊內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!
原文鏈接:https://blog.csdn.net/weixin_46870007/article/details/120672036