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

          導出類同樣可以重載。
            回復  更多評論    
          主站蜘蛛池模板: 阿克苏市| 无锡市| 丽江市| 古交市| 嘉义县| 连南| 江门市| 湖州市| 罗定市| 金川县| 贵定县| 陕西省| 固原市| 丽江市| 荣昌县| 太康县| 金乡县| 宣恩县| 安顺市| 丁青县| 分宜县| 兰州市| 金门县| 阿合奇县| 永兴县| 海林市| 涪陵区| 左贡县| 韩城市| 甘孜| 土默特右旗| 阳曲县| 大石桥市| 揭西县| 葵青区| 孟村| 阿拉尔市| 九寨沟县| 龙胜| 黄陵县| 洛川县|