這篇文章運用簡單易懂的例子給大家介紹java中靜態(tài)代碼塊的用法,代碼非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
在成都網(wǎng)站設計、網(wǎng)站制作中從網(wǎng)站色彩、結(jié)構(gòu)布局、欄目設置、關(guān)鍵詞群組等細微處著手,突出企業(yè)的產(chǎn)品/服務/品牌,幫助企業(yè)鎖定精準用戶,提高在線咨詢和轉(zhuǎn)化,使成都網(wǎng)站營銷成為有效果、有回報的無錫營銷推廣。創(chuàng)新互聯(lián)專業(yè)成都網(wǎng)站建設10多年了,客戶滿意度97.8%,歡迎成都創(chuàng)新互聯(lián)客戶聯(lián)系。
靜態(tài)代碼塊就是在類中用static{}括起來的代,因為屬于類,所以在程序載入的時候就執(zhí)行,優(yōu)先于創(chuàng)造對象
static
可以修飾屬性、方法、內(nèi)部類、代碼塊。
靜態(tài)代碼塊在類加載時就調(diào)用, 而且只執(zhí)行一次, 并且優(yōu)先于各種代碼塊以及構(gòu)造函數(shù)。
有一個地方的靜態(tài)代碼被使用,那么所有的靜態(tài)代碼塊都會被調(diào)用。
示例如下:
主類
public class Main { public static void main(String[] args) { // Human human = new Man(); 輸出2 4 1 3 //父類的類名調(diào)用父類的方法 //Human.test(); //輸出2 6 在調(diào)用靜態(tài)代碼時,怕需要上面的靜態(tài)代碼塊的內(nèi)容,所以將其鏈接到內(nèi)存 與子類無關(guān) //子類的類名調(diào)用子類的方法 //Man.doo(); // 輸出2 4 5 在調(diào)用子類的靜態(tài)方法時,父類的靜態(tài)代碼塊執(zhí)行,與父類的靜態(tài)代碼塊有關(guān) //子類的類名調(diào)用父類的方法 //Man.test(); // 輸出 2 6 注意這個能調(diào)test不是因為繼承,test聲明在了human里,子類可以調(diào)用父類的方法, //但是父類不能調(diào)用子類的方法 所以在Main中不可直達Man中的的方法 //子類調(diào)用了父類的方法,在父類的方法里又引用了子類里的靜態(tài)方法 //Man.test(); 輸出 2 6 4 5 } }
父類
public class Human { static { System.out.println("2.父類中的靜態(tài)代碼塊"); } public String name; public Human() { System.out.println("1.父類中的構(gòu)造方法"); } public static void test() { System.out.println("6.父類中的靜態(tài)方法"); } }
子類
public class Man extends Human { static { System.out.println("4.子類中的靜態(tài)代碼塊"); } public Man() { System.out.println("3.子類中的構(gòu)造方法"); } public static void doo() { System.out.println("5.子類中的靜態(tài)方法"); } }
靜態(tài)代碼塊內(nèi)容先執(zhí)行(但只執(zhí)行一次),接著執(zhí)行父類構(gòu)造方法,然后執(zhí)行子類構(gòu)造方法。
關(guān)于java中靜態(tài)代碼塊的用法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。