国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

名字的隱藏

2019-11-18 13:21:25
字體:
來源:轉載
供稿:網友

  只有C++程序員可能才會驚奇于名字的隱藏,因為它的工作原理與在C++里是完全不同的。假如java基礎類有一個方法名被“過載”使用多次,在衍生類里對那個方法名的重新定義就不會隱藏任何基礎類的版本。所以無論方法在這一級還是在一個基礎類中定義,過載都會生效:
  
  //: Hide.java
  // Overloading a base-class method name
  // in a derived class does not hide the
  // base-class versions
  
  class Homer {
   char doh(char c) {
    System.out.    return 'd';
   }
   float doh(float f) {
    System.out.println("doh(float)");
    return 1.0f;
   }
  }
  
  class Milhouse {}
  
  class Bart extends Homer {
   void doh(Milhouse m) {}
  }
  
  class Hide {
   public static void main(String[] args) {
    Bart b = new Bart();
    b.doh(1); // doh(float) used
    b.doh('x');
    b.doh(1.0f);
    b.doh(new Milhouse());
   }
  } ///:~
  
  正如下一章會講到的那樣,很少會用與基礎類里完全一致的簽名和返回類型來覆蓋同名的方法,否則會使人感到迷惑(這正是C++不答應那樣做的原因,所以能夠防止產生一些不必要的錯誤)。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新蔡县| 大同市| 大方县| 新乡市| 大英县| 丽江市| 伽师县| 筠连县| 霸州市| 芦山县| 门头沟区| 定安县| 芜湖县| 富平县| 博野县| 博客| 湄潭县| 普定县| 河曲县| 常熟市| 平陆县| 罗江县| 江口县| 视频| 石首市| 乌恰县| 武川县| 新建县| 宣汉县| 屯门区| 云梦县| 南宁市| 金昌市| 德惠市| 望都县| 宜宾县| 罗江县| 日土县| 洞头县| 墨竹工卡县| 浑源县|