JAVA代碼塊你了解嗎
更新時間:2021年09月03日 10:41:54 作者:大忽悠愛忽悠
這篇文章主要介紹了舉例說明Java中的代碼塊,包括靜態(tài)屬性和非靜態(tài)屬性以及構(gòu)造函數(shù)等相關(guān)的執(zhí)行先后,需要的朋友可以參考下
非靜態(tài)代碼塊:沒有static修飾的代碼塊
- 可以有輸出語句
- 可以對類的屬性聲明進行初始化操作
- 可以調(diào)用靜態(tài)或者非靜態(tài)的變量或方法
- 若有多個非靜態(tài)的代碼塊,那么按照從上到下的順序依次執(zhí)行
- 再次創(chuàng)建對象的時候都會執(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修飾的代碼塊
- 可以有輸出語句
- 可以對類的屬性聲明進行初始化操作
- 不可以對非靜態(tài)的屬性進行初始化。 即不可以調(diào)用非靜態(tài)的屬性和方法。
- 若有多個靜態(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ù)");
}
}

用處
實際開發(fā)中,靜態(tài)代碼塊用的多一些,用來初始化類的靜態(tài)屬性
匿名內(nèi)部類沒有類名,就不能顯示的new方法創(chuàng)建對象,如果還要在構(gòu)造器中初始化屬性就沒有辦法了,用匿名內(nèi)部類代碼塊代替構(gòu)造方法
代碼:
public class MAIN
{
public static void main(String[] args)
{
Per p=new Per()
{
//匿名內(nèi)部類是繼承了當前類和結(jié)構(gòu)的子類
{super.name="大忽悠";}
};
System.out.println(p.name);
}
}

總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
利用Java工具類Hutool實現(xiàn)驗證碼校驗功能
這篇文章主要介紹了利用Java工具類Hutool實現(xiàn)驗證碼校驗功能,利用Hutool實現(xiàn)驗證碼校驗,校驗的Servlet與今天的第一篇是一樣的,唯一就是驗證碼的生成是不一樣的,利用Hutool生成驗證碼更快捷.需要的朋友可以參考下2022-10-10
Springboot結(jié)合Mybatis-Plus實現(xiàn)業(yè)務(wù)撤銷回滾功能
本文介紹了如何在Springboot結(jié)合Mybatis-Plus實現(xiàn)業(yè)務(wù)撤銷回滾功能,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-12-12
利用Java實現(xiàn)在線圖片URL轉(zhuǎn)換為Base64以及反向解析成圖片
Base64 是一種將二進制數(shù)據(jù)編碼為 ASCII 字符串格式的方法,常用于在網(wǎng)絡(luò)中安全傳輸圖片、文件等內(nèi)容,本文給大家介紹了如何利用Java實現(xiàn)在線圖片URL轉(zhuǎn)換為Base64以及反向解析成圖片,文章有相關(guān)的代碼和圖文供大家參考,需要的朋友可以參考下2025-03-03
Spring Boot高級教程之使用Redis實現(xiàn)session共享
這篇文章主要為大家詳細介紹了Spring Boot高級教程之使用Redis實現(xiàn)session共享,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-10-10

