如下代碼:
          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
          這兒不是指在實例類的內部調用,而是在實例類的外部如何使用呢?

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


          網站導航:
           
          主站蜘蛛池模板: 尚志市| 阆中市| 洪江市| 上犹县| 理塘县| 彭阳县| 丰镇市| 海兴县| 志丹县| 嘉禾县| 右玉县| 蕲春县| 塔城市| 肥城市| 额尔古纳市| 博湖县| 柘城县| 盐津县| 西吉县| 白城市| 新干县| 水富县| 时尚| 双辽市| 方城县| 色达县| 扶绥县| 宾川县| 年辖:市辖区| 牙克石市| 长子县| 承德市| 英吉沙县| 佛坪县| 金溪县| 万荣县| 和政县| 北碚区| 新民市| 广宁县| 乌兰察布市|