<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    cuiyi's blog(崔毅 crazycy)

    記錄點滴 鑒往事之得失 以資于發(fā)展
    數(shù)據(jù)加載中……

    JAVA基礎(chǔ)(二):函數(shù)執(zhí)行順序(構(gòu)造函數(shù),多態(tài),this指針)

    <示例1>
    請寫出運行結(jié)果
    答案
    分析

    <示例2>
    題目
    答案
    分析

    類初始化時構(gòu)造函數(shù)調(diào)用順序:
      首先加載類,遇到extends字樣會停止加載當前類,加載父類,之后再繼續(xù)加載。
     
    當把一個類完全加載后,這個類的靜態(tài)成員將被先加載。之后進行如下流程:
    1
    )初始化對象的存儲空間為零或null值;
     2
    )調(diào)用父類構(gòu)造函數(shù);
    3
    )按順序分別調(diào)用類成員變量和實例成員變量的初始化表達式;
     4
    )調(diào)用本身構(gòu)造函數(shù)

    <示例3>this指針
    題目
    答案


    實例方法專用于類的對象,但是在內(nèi)存中只有一份實例方法供類的所有實例共享,因為為每個對象都復制一份所有實例方法代價很昂貴。
    所以系統(tǒng)中專門有這樣一種機制來保證:當你調(diào)用一個方法時,代碼是按專用于這個對象的方式進行,這種機制就是this

    每個實例方法都有一個名為this的變量,指的是調(diào)用該方法的當前對象。這種機制是當你的方法引用了類的一個實例變量是由編譯器隱含使用的

    即使對實例變量的每個引用實質(zhì)上是有 this. 前綴的

    當調(diào)用一個實例方法時,this變量將被設(shè)置成引用它所起作用的特定類對象。


    所以的對象都共享這個備份,為了區(qū)分開到底是哪個對象在調(diào)用這個方法,關(guān)鍵的地方就是this的使用。this把調(diào)用方法的上下文對應(yīng)到當前對象上

    本例分析:
    調(diào)用java中的所有成員變量或者成員函數(shù)都隱含了this。所以這個地方就很明了了:構(gòu)造子類,this指針代表的當前對象是子類實例,子類實例為啥不調(diào)用自己overriding的方法呢?!

    參考分析

    參考java基礎(chǔ)(一)

    <示例4>

    題目
    答案
    分析:

    你總是可以從派生類構(gòu)造器中調(diào)用一個適當?shù)幕A(chǔ)類構(gòu)造器,對基礎(chǔ)類構(gòu)造器的調(diào)用必須放在派生類構(gòu)造器的首位。

     

    如果派生類構(gòu)造器第一個語句不是對基礎(chǔ)類構(gòu)造器的調(diào)用,則編譯器將替你插入一個對默認基礎(chǔ)類構(gòu)造器的調(diào)用:super()

     

    如果你自己定義了自己的構(gòu)造函數(shù),則編譯器認為是你會負責一個對象構(gòu)造的全部細節(jié)問題,包括對默認構(gòu)造器的任何要求,編譯器不將管理。

     

    如果你構(gòu)造函數(shù)中要使用super() super this() this)等字樣,則必須放在第一行。

    如果你沒有顯示指定super() super)字樣,系統(tǒng)會在構(gòu)造函數(shù)第一行自動插入super()字樣;如果你指定了,系統(tǒng)將按你指定的進行而不是默認的了。

    <練習1>

    題目

    答案


    <練習2>

    題目

     

    分析


    <練習3>

    題目

     

    答案


    題目

     

    答案
    題目
    答案
    題目



     <練習>

    題目
    答案
    分析

    posted on 2006-10-13 15:53 crazycy 閱讀(2516) 評論(3)  編輯  收藏 所屬分類: JavaSE語言

    評論

    # re: JAVA基礎(chǔ)(二):函數(shù)執(zhí)行順序(構(gòu)造函數(shù),多態(tài),this指針)[未登錄]  回復  更多評論   

    今天看到這個帖子,發(fā)現(xiàn)樓主分析的非常透徹,這對于學習JAVA的人來說非常的具有實用價值。

    感謝樓主。
    2007-07-24 14:02 | java愛好者

    # re: JAVA基礎(chǔ)(二):函數(shù)執(zhí)行順序(構(gòu)造函數(shù),多態(tài),this指針)  回復  更多評論   

    其他的網(wǎng)頁都可以看,這個網(wǎng)頁中的內(nèi)容,點+號怎么也打不開啊???
    2008-01-25 17:31 | 小舟

    # re: JAVA基礎(chǔ)(二):函數(shù)執(zhí)行順序(構(gòu)造函數(shù),多態(tài),this指針)  回復  更多評論   

    為蝦米看不了代碼?
    2009-04-02 16:04 | redcoatjk
    主站蜘蛛池模板: 亚洲国产美女精品久久| 日本人的色道免费网站| 亚洲精品午夜国产va久久| 亚洲精品线路一在线观看| 成人网站免费观看| 亚洲成人免费在线观看| 中文字幕免费视频精品一| 国产亚洲视频在线| 亚洲AV成人一区二区三区在线看| 亚洲AV永久无码精品成人| 亚洲色欲久久久久综合网| 国产又黄又爽又猛的免费视频播放| 噼里啪啦免费观看高清动漫4 | 久久成人免费播放网站| 青青久久精品国产免费看| 亚洲国产精品无码观看久久| 亚洲不卡1卡2卡三卡2021麻豆| 亚洲免费在线播放| 久久精品夜色国产亚洲av| 亚洲欧洲精品无码AV| 中文字幕亚洲一区二区va在线| 国产免费直播在线观看视频| 日韩免费高清视频| 午夜毛片不卡免费观看视频| 国产精品成人免费视频网站京东| 四虎在线成人免费网站| 最近中文字幕mv免费高清视频8| 无码国产精品一区二区免费式芒果| 中国性猛交xxxxx免费看| 一级毛片a免费播放王色电影| 免费的黄色网页在线免费观看| 婷婷国产偷v国产偷v亚洲| 色偷偷尼玛图亚洲综合| 色欲色欲天天天www亚洲伊| 老牛精品亚洲成av人片| 丰满亚洲大尺度无码无码专线| 久久久久亚洲国产AV麻豆| 亚洲a无码综合a国产av中文| 婷婷亚洲综合五月天小说在线| 国产亚洲视频在线观看| 人体大胆做受免费视频|