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 閱讀(280) 評論(0)  編輯  收藏 所屬分類: Java

          主站蜘蛛池模板: 仪征市| 嘉荫县| 德安县| 辰溪县| 瑞金市| 九龙坡区| 台中市| 太原市| 翼城县| 泗洪县| 长岛县| 韶山市| 汨罗市| 永宁县| 弥勒县| 三台县| 云和县| 闽侯县| 大港区| 囊谦县| 临邑县| 新河县| 北海市| 苏尼特左旗| 乐清市| 敦化市| 灵寿县| 宝丰县| 广河县| 龙江县| 福海县| 乾安县| 微山县| 万源市| 离岛区| 宁武县| 博野县| 阳泉市| 基隆市| 蒲城县| 沁水县|