十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
//構造塊:直接在類中定義且沒有加static關鍵字的代碼塊稱為{}構造代碼塊。構造代碼塊在創(chuàng)建對象時被調用,每次創(chuàng)建對象都會被調用,并且構造代碼塊的執(zhí)行次序優(yōu)先于類構造函數(shù)。\x0d\x0a\x0d\x0apublic class CodeBlock02\x0d\x0a{\x0d\x0a\x0d\x0a {\x0d\x0a\x0d\x0a System.out.println("第一代碼塊");\x0d\x0a \x0d\x0a }\x0d\x0a\x0d\x0apublic CodeBlock02(){\x0d\x0a System.out.println("構造方法");\x0d\x0a }\x0d\x0a \x0d\x0a {\x0d\x0a\x0d\x0a System.out.println("第二構造塊");\x0d\x0a }\x0d\x0a public static void main(String[] args){\x0d\x0a new CodeBlock02();\x0d\x0a new CodeBlock02();\x0d\x0a new CodeBlock02();\x0d\x0a \x0d\x0a }\x0d\x0a} \x0d\x0a\x0d\x0a/**\x0d\x0a執(zhí)行結果:\x0d\x0a第一代碼塊\x0d\x0a第二構造塊\x0d\x0a構造方法\x0d\x0a第一代碼塊\x0d\x0a第二構造塊\x0d\x0a構造方法\x0d\x0a第一代碼塊\x0d\x0a第二構造塊\x0d\x0a構造方法*/
葫蘆島網(wǎng)站建設公司成都創(chuàng)新互聯(lián),葫蘆島網(wǎng)站設計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為葫蘆島數(shù)千家提供企業(yè)網(wǎng)站建設服務。企業(yè)網(wǎng)站搭建\成都外貿網(wǎng)站制作要多少錢,請找那個售后服務好的葫蘆島做網(wǎng)站的公司定做!
先說執(zhí)行順序:我們在new一個對象時,如果類還沒加載,就需要先將類加載到內存,此時就會執(zhí)行靜態(tài)代碼塊,在創(chuàng)建對象時,是先執(zhí)行代碼塊,然后執(zhí)行構造器。所以靜態(tài)代碼塊、代碼塊、構造器的執(zhí)行順序是:靜態(tài)代碼塊→代碼塊→構造器。
再說作用:靜態(tài)代碼塊是用于初始化類的(在加載類時執(zhí)行,只執(zhí)行一次),代碼塊是用于初始化對象的(在創(chuàng)建對象時執(zhí)行,每次創(chuàng)建對象時都執(zhí)行),構造器是用于創(chuàng)建對象的。
//構造塊:直接在類中定義且沒有加static關鍵字的代碼塊稱為{}構造代碼塊。構造代碼塊在創(chuàng)建對象時被調用,每次創(chuàng)建對象都會被調用,并且構造代碼塊的執(zhí)行次序優(yōu)先于類構造函數(shù)。
public class CodeBlock02
{
{
System.out.println("第一代碼塊");
}
public CodeBlock02(){
System.out.println("構造方法");
}
{
System.out.println("第二構造塊");
}
public static void main(String[] args){
new CodeBlock02();
new CodeBlock02();
new CodeBlock02();
}
}
/**
執(zhí)行結果:
第一代碼塊
第二構造塊
構造方法
第一代碼塊
第二構造塊
構造方法
第一代碼塊
第二構造塊
構造方法*/
java中有四種代碼塊
1.普通代碼塊:直接在{}中出現(xiàn)的。
2.構造代碼塊:在構造函數(shù)的{}中出現(xiàn)的。
3.靜態(tài)代碼塊:static{}中出現(xiàn)的。
4.同步代碼塊:多線程中出現(xiàn)。