Corsair

          My javaWorld
          數據加載中……
          關于名稱屏蔽討論
          關于超類方法重載,子類無法覆蓋其中的任意一個方法。
          public?class?SuperClass?{?
          public?void?method(){?
          System.out.println(
          "super?method()?worked.");?
          }
          ?
          public?void?method(int?a){?
          System.out.println(
          "super?method(int)?worked");?
          }
          ?
          public?void?method(String?s){?
          System.out.println(
          "super?method(string)?worked");?
          }
          ?
          }
          ?
          //------------sub---------------?
          public?class?SubClass?extends?SuperClass?{?
          ??
          public?void?method(){?
          ??System.out.println(
          "subclass?method()?worked");?
          ??}
          ?
          ??
          public?void?method(int?a){?
          ??
          super.method(a);?
          ??}
          ?
          ??
          public?void?method(char?c){?
          ??System.out.println(
          "subclass?method(char)?worked");?
          ??}
          ?
          }
          ?
          //------------run---------------?
          public?class?Test?{?
          public?static?void?run(SuperClass?a){?
          a.method();?
          a.method(
          1);?
          a.method(
          "string");?
          }
          ?
          public?static?void?main(String[]?args)?{?
          run(
          new?SubClass());?
          new?SubClass().method('r');?
          }
          ?
          }
          ?
          //=============END===============?
          subclass?method()?worked?
          super?method(int)?worked?
          super?method(string)?worked?
          subclass?method(
          char)?worked?
          //=============END===============?

          posted on 2007-03-31 10:53 銀河海盜 閱讀(327) 評論(1)  編輯  收藏 所屬分類: JAVA

          評論

          # re: 關于名稱屏蔽討論 2008-11-13 11:42 http://hi.baidu.com/lovexdd/

          名稱屏蔽:

          如果java的基類擁有某個已被多次重載的方法名稱,那么在導出類中重新定義該方法名稱并不會屏蔽其在基類中的任何版本(這一點于C++不同)。因此,無論是在該層或者它的基類中對方法進行定義,重載機制都可以正常工作。

          ss解析:

          這句話的意思是指:如果基類有方法 void method() String method(int i)

          那么在導出類中定義 int method(char a) 并不會吧基類的方法給屏蔽,基類的重載方法是可以用的。

          導出類同樣可以重載。
            回復  更多評論    
          主站蜘蛛池模板: 株洲市| 特克斯县| 山阴县| 安化县| 瑞金市| 雷波县| 咸宁市| 龙海市| 清远市| 拜城县| 望奎县| 当阳市| 泾阳县| 乌什县| 武平县| 兴义市| 平顶山市| 安平县| 安新县| 库伦旗| 教育| 黔南| 凤翔县| 略阳县| 柳江县| 湛江市| 尤溪县| 阳城县| 宁南县| 南阳市| 赞皇县| 清镇市| 漾濞| 隆安县| 宁城县| 洪江市| 大港区| 双城市| 贵阳市| 贡嘎县| 无锡市|