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 銀河海盜 閱讀(322) 評論(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) 并不會吧基類的方法給屏蔽,基類的重載方法是可以用的。

          導出類同樣可以重載。
            回復  更多評論    
          主站蜘蛛池模板: 永川市| 界首市| 怀仁县| 玛纳斯县| 昌平区| 阜南县| 泰来县| 光泽县| 江西省| 前郭尔| 陕西省| 景洪市| 临武县| 四子王旗| 蒲城县| 威海市| 屏东县| 京山县| 仲巴县| 肥东县| 阳信县| 安西县| 林西县| 佛山市| 伽师县| 河津市| 忻州市| 扬中市| 宁化县| 滕州市| 长乐市| 泗水县| 微山县| 烟台市| 台州市| 阜康市| 嵩明县| 扎兰屯市| 新宁县| 崇仁县| 宣化县|