honzeland

          記錄點滴。。。

          常用鏈接

          統(tǒng)計

          Famous Websites

          Java

          Linux

          P2P

          最新評論

          Override and Overload

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

          主站蜘蛛池模板: 南雄市| 苏州市| 成都市| 吉木萨尔县| 泉州市| 石阡县| 沁水县| 霍邱县| 海盐县| 侯马市| 新沂市| 松桃| 乌恰县| 射洪县| 长乐市| 镇宁| 昭平县| 桦川县| 玛多县| 巨野县| 丁青县| 招远市| 永德县| 大兴区| 全州县| 岑巩县| 霍州市| 嘉荫县| 原阳县| 古蔺县| 甘孜县| 疏勒县| 新竹市| 桃园市| 呼图壁县| 甘肃省| 攀枝花市| 岑巩县| 茌平县| 诏安县| 仙居县|