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

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


          網站導航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          主站蜘蛛池模板: 沙河市| 平定县| 泾阳县| 钟山县| 灵丘县| 华容县| 永仁县| 潜山县| 高要市| 吴桥县| 连云港市| 灵川县| 雷波县| 乐业县| 涪陵区| 宁远县| 郴州市| 望城县| 宿迁市| 富蕴县| 大悟县| 微山县| 大兴区| 合江县| 白城市| 综艺| 涪陵区| 伊金霍洛旗| 东城区| 耒阳市| 大荔县| 准格尔旗| 甘洛县| 绥棱县| 夏邑县| 津市市| 南宁市| 呈贡县| 修文县| 茶陵县| 揭西县|