成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

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

xingpingz / 1946人閱讀

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

該問題涉及:靜態(tài)初始化代碼塊、構(gòu)造代碼塊、構(gòu)造方法
當(dāng)涉及到繼承時,按照如下順序執(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() {
    }

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

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

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

    public HelloB() {
    }

輸出:無

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

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/72344.html

相關(guān)文章

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

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

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

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

    PrototypeZ 評論0 收藏0
  • Java設(shè)計模式--單例模式

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

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

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

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

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

    張憲坤 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<