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) 并不會吧基類的方法給屏蔽,基類的重載方法是可以用的。

          導出類同樣可以重載。
            回復  更多評論    
          主站蜘蛛池模板: 临沧市| 集安市| 松溪县| 巴南区| 德化县| 吴旗县| 茌平县| 大埔县| 平安县| 太仓市| 平原县| 桃江县| 水城县| 安龙县| 湖南省| 新津县| 清远市| 玉山县| 商河县| 错那县| 鹿邑县| 沽源县| 那曲县| 高州市| 鸡东县| 墨脱县| 龙井市| 治多县| 玉环县| 黔南| 深圳市| 北川| 锡林浩特市| 托里县| 额济纳旗| 沾化县| 红安县| 赫章县| 建水县| 大邑县| 新田县|