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

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

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

    Corsair

    My javaWorld
    數(shù)據(jù)加載中……
    向上轉型中子類將能看到父類被覆蓋字段的現(xiàn)象探討

    我們知道,在子類繼承父類之后,如果子類與父類有同名的字段和方法,那么子類中的子段會代替或隱藏父類的子段,說明子類字段覆蓋了超類字段,但可以通過super關鍵字去訪問超類字段。但是,在我們將子類對象向超類轉型的時候就會發(fā)生這個奇怪的現(xiàn)象,子類對象居然可以看到父類曾經(jīng)被覆蓋掉的字段!就正如下面例子中一樣:

    ?1?class?A{
    ?2?????boolean?bb?=false;
    ?3?}
    ?4?
    ?5?public?class?B?extends?A{
    ?6?????boolean?bb?=?true;
    ?7?????//int?a=1;
    ?8?????public?static?void?main(String[]?args)?{
    ?9?????????B?b?=new?B();
    10?????????A?a?;
    11?????????a=?b;
    12?????????//---??
    13?????????System.out.println(a.bb);
    14?????????//---這句可以理解
    15?????????System.out.println(b.bb);
    16?????????//---??
    17?????????System.out.println(?((A)b).bb);
    18?????????//----
    19?????}
    20?????/*運行結果
    21??????*?false
    22??????*?true
    23??????*?false
    24??????*?*/
    25?}

    為什么會發(fā)生這樣的情況呢?
    關于這種情況的解釋在[美]Peter van der Linden著的《Just Java2》中有了答案:
    P106他說:
    ???一定要注意:當把子類轉換成超類時,子類可以見到或訪問被隱藏的同名變量。Java允許名字重復的原因是,允許將來把新的字段加到超類中,而不影響已經(jīng)使用了該名字的現(xiàn)有子類,子類將會繼續(xù)使用自己的字段副本。除非讓子類以超類對象的形式出現(xiàn),方法可以覆蓋,但是字段不能被覆蓋。注意:最好不要隱藏超類中的字段名。
    ?????
    所以我們在進行向上轉型的時候一定要注意:不要訪問子類中那些“覆蓋”掉父類的字段(它并沒有真正覆蓋掉,在向上轉型的時候就可以訪問的到),要么將子類字段改名(在你知道父類代碼的情況下),要么通過方法來訪問字類字段(方法即使同名也肯定能覆蓋掉)。

    posted on 2007-03-31 11:31 銀河海盜 閱讀(709) 評論(2)  編輯  收藏 所屬分類: JAVA

    評論

    # re: 向上轉型中子類將能看到父類被覆蓋字段的現(xiàn)象探討 2007-04-01 19:07 dennis

    變量都是靜態(tài)綁定,只有實例方法才是動態(tài)綁定。或者說只有方法才有多態(tài),而變量是沒有的
      回復  更多評論    

    # re: 向上轉型中子類將能看到父類被覆蓋字段的現(xiàn)象探討 2007-04-02 20:17 銀河海盜

    @dennis
    恩,謝謝賜教,又學到新東西了~~
      回復  更多評論    
    主站蜘蛛池模板: 亚洲美女激情视频| 亚洲AV永久无码精品成人| 亚洲国产精品久久网午夜| 国产无遮挡无码视频免费软件| 国产精品亚洲精品日韩已方| 2022免费国产精品福利在线| 国产亚洲美女精品久久久2020| 久久成人18免费网站| 日本亚洲欧洲免费天堂午夜看片女人员| 成人毛片100免费观看| 亚洲日韩精品A∨片无码| 成人影片一区免费观看| 无码乱人伦一区二区亚洲| 91免费人成网站在线观看18| 一本久久免费视频| 久久亚洲中文字幕精品一区| 亚洲冬月枫中文字幕在线看| 又粗又大又黑又长的免费视频| 亚洲中文字幕久久精品无码喷水 | 亚洲成人午夜电影| 一个人免费观看在线视频www| 亚洲国产成人AV在线播放| 免费观看四虎精品国产永久 | a级毛片高清免费视频就| 亚洲国产高清在线| 三年片在线观看免费观看高清电影 | 午夜免费1000部| 亚洲丁香婷婷综合久久| 美腿丝袜亚洲综合| 91精品免费不卡在线观看| 亚洲精品女同中文字幕| 综合亚洲伊人午夜网| 18观看免费永久视频| 国产成人综合亚洲绿色| 精品亚洲一区二区| 四虎在线视频免费观看| 中国一级毛片免费看视频| 亚洲国产精品久久久久秋霞影院 | 四虎影院在线免费播放| 野花香高清视频在线观看免费| 亚洲香蕉久久一区二区三区四区|