久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

靜態(tài)代碼塊的執(zhí)行方式和順序

 windxn 2017-11-18

1,、靜態(tài)代碼塊格式:

static {   執(zhí)行語(yǔ)句 }

特點(diǎn):隨著類的加載而執(zhí)行,,且只執(zhí)行一次,,并優(yōu)先于主函數(shù)。用于給類初始化的,。

 

2,、執(zhí)行順序:

示例一

靜態(tài)代碼塊隨著類加載而加載

有多個(gè)靜態(tài)代碼塊的,按代碼塊前后順序加載

一個(gè)代碼塊,,只執(zhí)行一次,。

復(fù)制代碼
package javastudy; class StaticCode1{ static{ //第4步。由第3步觸發(fā),。 System.out.println('x'); } } public class StaticDemo2 { static{ //第1步,。先加載主函數(shù)所在類,所以先加載并執(zhí)行這段靜態(tài)代碼塊,。 System.out.println('y'); } public static void main(String[] args) { new StaticCode1(); //第3加載StaticCode1類,。 new StaticCode1(); //不執(zhí)行。靜態(tài)代碼塊只執(zhí)行一次 System.out.println('over'); //第5步,。輸出打印,。 } static{ //第2步。多個(gè)靜態(tài)代碼塊之前,,按前后順序執(zhí)行 System.out.println('z'); } }
復(fù)制代碼

輸出:

y
z
x
over

 

示例二

 

復(fù)制代碼
public class StaticDemo1 { public static void main(String[] args) { StaticDemo1 t1=new StaticDemo1(); //第2步,,初始化構(gòu)造函數(shù),i=9 System.out.println(t1.i); //第3步,,按順序執(zhí)行,9 speak(); //第4步,,按順序執(zhí)行,,調(diào)用靜態(tài)函數(shù) } static int i=1; //靜態(tài)變量存到靜態(tài)區(qū)域,。 static void speak() //靜態(tài)函數(shù)存到靜態(tài)區(qū)域,。調(diào)用時(shí)執(zhí)行,。 { System.out.println('a');; } static { //第1步,靜態(tài)代碼塊隨著類的加載,優(yōu)先執(zhí)行且只執(zhí)行一次,。i=3,i 3打印結(jié)果是4,。 i=i 3; System.out.println(i); } public StaticDemo1(){ //構(gòu)造方法,,初始化時(shí)執(zhí)行。 i=i 5; //i=9 System.out.println(i); } }
復(fù)制代碼

輸出:

4
9
9
a

 

 

示例三

復(fù)制代碼
package javastudy; public class StaticDemo2 { public static void main(String[] args) { } static{ //隨類加載就執(zhí)行,,不需要實(shí)例化 System.out.println('z'); } }
復(fù)制代碼

輸出:

z

 

示例四

復(fù)制代碼
class StaticCode2{ StaticCode2(){ //沒(méi)有調(diào)用,。 System.out.println('aa'); } static{ //1 靜態(tài)代碼塊先執(zhí)行 System.out.println('x'); } { //2 對(duì)象的構(gòu)造代碼塊。給對(duì)象初始化的,。 System.out.println('cc'); } StaticCode2(int i){ //3 被調(diào)用 System.out.println('aa'); } public static void show(){ //靜態(tài)方法,,沒(méi)有調(diào)用,。 System.out.println('gogogo'); } } public class StaticDemo4 { public static void main(String[] args) { new StaticCode2(4); } }
復(fù)制代碼

輸出:

x
cc
aa

 

示例五

復(fù)制代碼
public class StaticDemo5 { static int i=1; static{ System.out.println('a'); //第1步。a,。且只執(zhí)行一次 i ; //i=i 1,,結(jié)果2 } public StaticDemo5(){ System.out.println('c'); //第2步。 i ; //i=i 1,,結(jié)果3 } public static void main(String[] args) { StaticDemo5 t1=new StaticDemo5(); System.out.println(t1.i); //第3步,。3 StaticDemo5 t2=new StaticDemo5(); //第4步。c,。第二次創(chuàng)建實(shí)例,。static靜態(tài)代碼塊不執(zhí)行。 System.out.println(t2.i); //第5步,。又執(zhí)行了一次StaticDemo5()構(gòu)造函數(shù),。4 } }
復(fù)制代碼

輸出:

a
c
3
c
4

 創(chuàng)建第二個(gè)對(duì)象StaticDemo5 t2=new StaticDemo5()時(shí),其實(shí)i已經(jīng)先于對(duì)象存在于靜態(tài)區(qū)域

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多