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

          主站蜘蛛池模板: 千阳县| 盐边县| 广宁县| 文昌市| 濮阳县| 肇州县| 屯昌县| 镶黄旗| 乌审旗| 淮安市| 中方县| 武清区| 哈密市| 夏河县| 富民县| 潼关县| 百色市| 开平市| 安庆市| 新民市| 瓦房店市| 祥云县| 黄陵县| 卢湾区| 商南县| 沂南县| 正蓝旗| 扎囊县| 枣强县| 仙桃市| 白沙| 青岛市| 五华县| 广平县| 双城市| 即墨市| 新乡县| 南康市| 湘潭县| 扶绥县| 茶陵县|