honzeland

          記錄點滴。。。

          常用鏈接

          統計

          Famous Websites

          Java

          Linux

          P2P

          最新評論

          Override and Overload

          Override: (覆蓋)
          1 Override 發生在繼承中,使得一個子類 Override 其父類的一個 method
          2
          Override Rules Keeping the contract 。子類 override 父類的 method 時,必須要保證 overriding method 和父類中的 overridden method 具有相同的對外協議 contract ,即相同的參數列表和兼容的返回類型
          3
          Arguments must be the same, and return types must be compatible.
          4
          The method can't be less accessible. 考慮如下情況:如果訪問權限變小了,如由父類 Parent 中的 public void test() 變成子類 Son 中的 private void test() ,如果編譯器允許權限變小,在某一類中有如下語句: Parent?p = new Son() p.test() ;則這些語句能夠通過編譯,當該類加載運行時,將會出現錯誤,因為父類 reference p 指向的是一子類 Son 的對象,而 Son 中的 test() private ,不能在其他類中 invoke
          ??????
          另外,上面的語句在編譯器允許權限變小情況下之所以能夠通過編譯,是因為在 “Parent?p = new Son() 中,聲明了一個父類 Parent reference p ,由于 p 是父類的 reference ,由于父類中的 test() public ,故 “p.test() 能夠通過編譯;而在運行時, p 指向的是一個子類的對象, p.test() 在運行時調用的是子類對象中的 test()

          Overload
          :(重載)
          1 、重載:兩個或多個 methods 具有相同的 name 不同的 argument lists
          2
          The return types can be different.
          3
          You can't change ONLY the return type :不能僅僅改變返回類型, To overload a method, you MUST change the argument list, although you can change the return type to anything.
          4
          You can vary the access levels in any direction.

          posted on 2006-11-10 10:37 honzeland 閱讀(275) 評論(0)  編輯  收藏 所屬分類: Java

          主站蜘蛛池模板: 美姑县| 沂水县| 澄迈县| 崇信县| 民丰县| 乐东| 读书| 米林县| 临夏市| 周至县| 平凉市| 郴州市| 宝应县| 体育| 长寿区| 长丰县| 科尔| 沾化县| 和平区| 钟祥市| 合水县| 石楼县| 揭东县| 敦煌市| 东宁县| 竹溪县| 双柏县| 霸州市| 邳州市| 大余县| 洪湖市| 桂东县| 晋江市| 泰兴市| 肃南| 吐鲁番市| 五家渠市| 洪江市| 阳谷县| 双城市| 黄陵县|