成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

java類內(nèi)部代碼執(zhí)行順序

xingpingz / 1902人閱讀

摘要:先看以下代碼執(zhí)行代碼后輸出該問(wèn)題涉及靜態(tài)初始化代碼塊構(gòu)造代碼塊構(gòu)造方法當(dāng)涉及到繼承時(shí),按照如下順序執(zhí)行執(zhí)行父類的靜態(tài)代碼塊輸出執(zhí)行子類的靜態(tài)代碼塊輸出執(zhí)行父類的構(gòu)造代碼塊輸出執(zhí)行父類的構(gòu)造函數(shù)輸出無(wú)執(zhí)行子類的構(gòu)造代碼塊輸出執(zhí)行子類的構(gòu)造函數(shù)

先看以下代碼

public class HelloB extends HelloA
{
    public HelloB()
    {
    }
    {
        System.out.println("I’m B class");
    }
    static
    {
        System.out.println("static B");
    }
    public static void main(String[] args)
    {
        new HelloB();
    }
}
class HelloA
{
    public HelloA()
    {
    }
    {
        System.out.println("I’m A class");
    }
    static
    {
        System.out.println("static A");
    }
}

執(zhí)行代碼后輸出
static A
static B
I’m A class
I’m B class

該問(wèn)題涉及:靜態(tài)初始化代碼塊、構(gòu)造代碼塊、構(gòu)造方法
當(dāng)涉及到繼承時(shí),按照如下順序執(zhí)行:
1、執(zhí)行父類的靜態(tài)代碼塊

    static {
        System.out.println("static A");
    }

輸出:static A
2、執(zhí)行子類的靜態(tài)代碼塊

static {
        System.out.println("static B");
    }

輸出:static B
3、執(zhí)行父類的構(gòu)造代碼塊

    {
        System.out.println("I’m A class");
    }

輸出:I"m A class
4、執(zhí)行父類的構(gòu)造函數(shù)

    public HelloA() {
    }

輸出:無(wú)
5、執(zhí)行子類的構(gòu)造代碼塊

    {
        System.out.println("I’m B class");
    }

輸出:I"m B class
6、執(zhí)行子類的構(gòu)造函數(shù)

    public HelloB() {
    }

輸出:無(wú)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/72344.html

相關(guān)文章

  • 談?wù)?em>Java的面向?qū)ο?/b>

    摘要:也就是說(shuō),一個(gè)實(shí)例變量,在的對(duì)象初始化過(guò)程中,最多可以被初始化次。當(dāng)所有必要的類都已經(jīng)裝載結(jié)束,開(kāi)始執(zhí)行方法體,并用創(chuàng)建對(duì)象。對(duì)子類成員數(shù)據(jù)按照它們聲明的順序初始化,執(zhí)行子類構(gòu)造函數(shù)的其余部分。 類的拷貝和構(gòu)造 C++是默認(rèn)具有拷貝語(yǔ)義的,對(duì)于沒(méi)有拷貝運(yùn)算符和拷貝構(gòu)造函數(shù)的類,可以直接進(jìn)行二進(jìn)制拷貝,但是Java并不天生支持深拷貝,它的拷貝只是拷貝在堆上的地址,不同的變量引用的是堆上的...

    ormsf 評(píng)論0 收藏0
  • Java基礎(chǔ)(筆記)

    摘要:拆箱將包裝類型轉(zhuǎn)換為基本類型的過(guò)程。否則會(huì)拋出異常。默認(rèn)采用單鏈表解決沖突,如果鏈表長(zhǎng)度超過(guò),將單鏈表轉(zhuǎn)換為紅黑樹(shù)。內(nèi)部使用紅黑樹(shù)實(shí)現(xiàn),存儲(chǔ)映射。紅黑樹(shù)減弱了對(duì)平衡的要求,降低了保持樹(shù)平衡需要的開(kāi)銷(xiāo),在實(shí)際應(yīng)用中,統(tǒng)計(jì)性能超過(guò)平衡二叉樹(shù)。 引言 showImg(https://segmentfault.com/img/bVbv7Mr?w=242&h=410); 在學(xué)習(xí)《Java編程的邏...

    PrototypeZ 評(píng)論0 收藏0
  • Java設(shè)計(jì)模式--單例模式

    摘要:所以這段代碼也就避免了代碼一中,可能出現(xiàn)因?yàn)槎嗑€程導(dǎo)致多個(gè)實(shí)例的情況。從內(nèi)部看是一個(gè)餓漢式的單例,但是從外部看來(lái),又的確是懶漢式的實(shí)現(xiàn)枚舉使用是不是很簡(jiǎn)單而且因?yàn)樽詣?dòng)序列化機(jī)制,保證了線程的絕對(duì)安全。 在介紹單例模式之前,我們先了解一下,什么是設(shè)計(jì)模式?設(shè)計(jì)模式(Design Pattern):是一套被反復(fù)使用,多數(shù)人知曉的,經(jīng)過(guò)分類編目的,代碼設(shè)計(jì)經(jīng)驗(yàn)的總結(jié)。目的:使用設(shè)計(jì)模式是為了...

    StonePanda 評(píng)論0 收藏0
  • Java 初始化與清理(5)

    摘要:隨著計(jì)算機(jī)革命的發(fā)展,不安全的編程方式已逐漸成為編程代價(jià)高昂的主因之一。 隨著計(jì)算機(jī)革命的發(fā)展,不安全的編程方式已逐漸成為編程代價(jià)高昂的主因之一。 1.用構(gòu)造器確保初始化 構(gòu)造器:在創(chuàng)建對(duì)象時(shí)被自動(dòng)調(diào)用的特殊方法. 構(gòu)造器命名問(wèn)題:1.所取得任何名字可能與類的某個(gè)成員命名沖突;2.調(diào)用構(gòu)造器是編譯器的責(zé)任,所以應(yīng)該讓編譯器知道該調(diào)用哪個(gè)方法. 構(gòu)造器命名:與類名相同,所以每個(gè)方法首字...

    cheng10 評(píng)論0 收藏0
  • 深入理解虛擬機(jī)之文件結(jié)構(gòu)

    摘要:對(duì)象創(chuàng)建與訪問(wèn)指令雖然類實(shí)例和數(shù)組都是對(duì)象,但虛擬機(jī)對(duì)類實(shí)例和數(shù)組的創(chuàng)建和操作使用了不同的字節(jié)碼指令。異常處理指令在虛擬機(jī)中,處理異常語(yǔ)句不是由字節(jié)碼指令來(lái)實(shí)現(xiàn)的,而是采用異常表的方式。 《深入理解Java虛擬機(jī):JVM高級(jí)特性與最佳實(shí)踐(第二版》讀書(shū)筆記與常見(jiàn)面試題總結(jié) 本節(jié)常見(jiàn)面試題(推薦帶著問(wèn)題閱讀,問(wèn)題答案在文中都有提到): 簡(jiǎn)單介紹一下Class類文件結(jié)構(gòu)(常量池主要存放的是...

    張憲坤 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<