免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

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

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

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

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

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

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

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

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

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

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
java構(gòu)造方法和new關(guān)鍵字
Java基礎(chǔ)知識總結(jié) - 超詳細(xì)篇收藏
Java面向?qū)ο蠡A(chǔ)(封裝繼承多態(tài))【3】
Java知識體系詳解
C++萌新來看,一篇文讓你讓你徹底搞定類(超詳細(xì))!
JAVA程序執(zhí)行順序,你了解了嗎?
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服