JAVA代碼塊你了解嗎
非靜態(tài)代碼塊:沒(méi)有static修飾的代碼塊
- 可以有輸出語(yǔ)句
- 可以對(duì)類的屬性聲明進(jìn)行初始化操作
- 可以調(diào)用靜態(tài)或者非靜態(tài)的變量或方法
- 若有多個(gè)非靜態(tài)的代碼塊,那么按照從上到下的順序依次執(zhí)行
- 再次創(chuàng)建對(duì)象的時(shí)候都會(huì)執(zhí)行,且先于構(gòu)造函數(shù)執(zhí)行
代碼:
public class Per { { System.out.println("非靜態(tài)代碼塊1"); } { System.out.println("非靜態(tài)代碼塊2"); } { System.out.println("非靜態(tài)代碼塊3"); } Per() { System.out.println("per的構(gòu)造函數(shù)"); } }
靜態(tài)代碼塊:用static修飾的代碼塊
- 可以有輸出語(yǔ)句
- 可以對(duì)類的屬性聲明進(jìn)行初始化操作
- 不可以對(duì)非靜態(tài)的屬性進(jìn)行初始化。 即不可以調(diào)用非靜態(tài)的屬性和方法。
- 若有多個(gè)靜態(tài)的代碼塊,則按照從上到下的順序依次執(zhí)行。
- 靜態(tài)代碼塊的執(zhí)行要先于非靜態(tài)代碼塊。
- 靜態(tài)代碼只執(zhí)行一次。
代碼:
public class Per { static { System.out.println("靜態(tài)代碼塊1"); } static{ System.out.println("靜態(tài)代碼塊2"); } { System.out.println("非靜態(tài)代碼塊"); } Per() { System.out.println("per的構(gòu)造函數(shù)"); } }
用處
實(shí)際開(kāi)發(fā)中,靜態(tài)代碼塊用的多一些,用來(lái)初始化類的靜態(tài)屬性
匿名內(nèi)部類沒(méi)有類名,就不能顯示的new方法創(chuàng)建對(duì)象,如果還要在構(gòu)造器中初始化屬性就沒(méi)有辦法了,用匿名內(nèi)部類代碼塊代替構(gòu)造方法
代碼:
public class MAIN { public static void main(String[] args) { Per p=new Per() { //匿名內(nèi)部類是繼承了當(dāng)前類和結(jié)構(gòu)的子類 {super.name="大忽悠";} }; System.out.println(p.name); } }
總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
Spring的@Scheduled 如何動(dòng)態(tài)更新cron表達(dá)式
這篇文章主要介紹了Spring的@Scheduled 如何動(dòng)態(tài)更新cron表達(dá)式的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07IDEA巧用Postfix Completion讓碼速起飛(小技巧)
這篇文章主要介紹了IDEA巧用Postfix Completion讓碼速起飛,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08Java中的FileInputStream是否需要close問(wèn)題
這篇文章主要介紹了Java中的FileInputStream是否需要close問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12利用IDEA社區(qū)版創(chuàng)建SpringBoot項(xiàng)目的詳細(xì)圖文教程
大家應(yīng)該都知道Idea社區(qū)版本,默認(rèn)是不能創(chuàng)建SpringBoot項(xiàng)目的,下面這篇文章主要給大家介紹了關(guān)于利用IDEA社區(qū)版創(chuàng)建SpringBoot項(xiàng)目的詳細(xì)圖文教程,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-04-04Mapper層繼承BaseMapper<T>需要引入的pom依賴方式
這篇文章主要介紹了Mapper層繼承BaseMapper<T>需要引入的pom依賴方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01idea雙擊圖標(biāo)打不開(kāi),無(wú)反應(yīng)的解決
這篇文章主要介紹了idea雙擊圖標(biāo)打不開(kāi),無(wú)反應(yīng)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09