乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Java對(duì)象初始化順序

       縷夢(mèng)菲煙 2011-09-19
              1. 使用new新建對(duì)象時(shí),初始化順序?yàn)椋红o態(tài)變量>成員變量>構(gòu)造方法。 靜態(tài)初始化塊以靜態(tài)變量對(duì)待
              2. 建立類的Class對(duì)象,但沒有執(zhí)行new時(shí)(如訪問任何靜態(tài)變量、或者調(diào)用靜態(tài)方法、或者調(diào)用Class.forName方法等。使用Class<A> a = A.class則不會(huì)觸發(fā))都會(huì)進(jìn)行靜態(tài)變量的初始化。此時(shí)成員變量、構(gòu)造方法未初始化。靜態(tài)變量只會(huì)被初始化一次。
              3. 同種變量的初始化,按照代碼中的書寫順序進(jìn)行,無論變量聲明在類頭、方法之間、類尾。
              4. 執(zhí)行構(gòu)造方法時(shí),從祖先至子孫依次進(jìn)行。“創(chuàng)建過程是由基類'向外'擴(kuò)散的”。那么如果new一個(gè)子類對(duì)象,子類構(gòu)造方法中的代碼應(yīng)在父類靜態(tài)變量>父類成員變量>父類構(gòu)造方法>子類靜態(tài)變量>子類成員變量之后執(zhí)行。

      另附think in java 中對(duì)于對(duì)象創(chuàng)建過程的描述。有助于深入了解:(摘自think in java第三版,機(jī)工,第四章)

      假設(shè)有個(gè)名為Dog的類:

              1. 當(dāng)首次創(chuàng)建類型為Dog的對(duì)象時(shí)(構(gòu)造器可以看成靜態(tài)方法),或者Dog類的靜態(tài)方法/靜態(tài)域首次被訪問時(shí),Java解釋器必須查找類路徑,以定位Dog.class文件。

              2. 然后載入Dog.class(這將創(chuàng)建一個(gè)Class對(duì)象), 有關(guān)靜態(tài)初始化的動(dòng)作都會(huì)執(zhí)行。因此,靜態(tài)初始化只在Class對(duì)象首次加載的時(shí)候執(zhí)行一次。

              3. 當(dāng)你用new Dog()創(chuàng)建對(duì)象的時(shí)候,首先在堆上為Dog對(duì)象分配足夠高的存儲(chǔ)空間。

              4. 這塊存儲(chǔ)空間會(huì)被清零,這就自動(dòng)的將Dog中的所有基本類型數(shù)據(jù)設(shè)置成了默認(rèn)值(對(duì)于數(shù)字來說就是0,對(duì)布爾型和字符型也相同),而引用則被設(shè)置成了null。

              5. 執(zhí)行所有出現(xiàn)于域定義處的初始化動(dòng)作。

              6. 執(zhí)行構(gòu)造器。

        本站是提供個(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)論公約

        類似文章 更多