如下代碼:
          class A{
              public void foo(){print("aaaaa");}
          }

          class B extends A{
              public void foo(){print("bbbbb");}
          }

          如果想通過B的實例化變量來調用被override的父類的方法foo():

          B b = new B();

          在C++中(VC 6)可以兩種途徑;
          1.  ((A)b).foo();
          2.  A a = B();

          在java中類似做法則行不通,依然訪問的是子類方法。
          而且,在java中好像達不到這個目的。

          Feedback

          # re: 疑惑:如何訪問被覆蓋父類的方法 -- java與C++類模型的一點差異  回復  更多評論   

          2008-06-06 17:43 by Allen Liu
          Super.foo();

          # re: 疑惑:如何訪問被覆蓋父類的方法 -- java與C++類模型的一點差異  回復  更多評論   

          2008-06-06 17:51 by Allen Liu
          你這里的A.foo()與((A)b).foo();沒什么兩樣吧?

          # re: 疑惑:如何訪問被覆蓋父類的方法 -- java與C++類模型的一點差異  回復  更多評論   

          2008-06-15 19:15 by bluoy
          @Allen Liu
          這兒不是指在實例類的內部調用,而是在實例類的外部如何使用呢?

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 沂南县| 喀喇沁旗| 胶州市| 白城市| 阳曲县| 基隆市| 华阴市| 利津县| 平山县| 二连浩特市| 荔波县| 奈曼旗| 上栗县| 抚州市| 宁南县| 通山县| 荥阳市| 绍兴县| 巴南区| 平乐县| 东宁县| 彰武县| 宁明县| 奈曼旗| 吉隆县| 古田县| 罗城| 滕州市| 清徐县| 新化县| 沙湾县| 鹤山市| 格尔木市| 遂川县| 雷山县| 阳泉市| 运城市| 磐安县| 象州县| 景泰县| 通山县|