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

          導出類同樣可以重載。
            回復  更多評論    
          主站蜘蛛池模板: 玉山县| 伽师县| 望都县| 棋牌| 萝北县| 永春县| 栖霞市| 通江县| 年辖:市辖区| 搜索| 望江县| 南溪县| 邢台县| 灯塔市| 江北区| 福清市| 皮山县| 宁远县| 平顺县| 红原县| 穆棱市| 湘潭市| 财经| 邵武市| 雅江县| 勐海县| 武邑县| 永济市| 温州市| 磐安县| 淅川县| 洪湖市| 西青区| 芷江| 宣武区| 琼海市| 枣阳市| 东台市| 准格尔旗| 镇安县| 四会市|