真善美

          勇于承擔(dān)責(zé)任; 如果你做不到,要提前跟別人說明,不要等到事情發(fā)生后再解釋。

            BlogJava :: 首頁 ::  :: 聯(lián)系 :: 聚合  :: 管理 ::
            55 隨筆 :: 0 文章 :: 29 評論 :: 0 Trackbacks

          面向?qū)ο蟪绦蛟O(shè)計的三大原則是封裝性、繼承性、多態(tài)性。

          這里主要說一下多態(tài)性,在說多態(tài)之前先說幾個概念:
          將一個方法調(diào)用同一個方法主體連接到一起就稱為“綁定”(Binding)。
          若在程序運行前執(zhí)行綁定(由編譯器和鏈接程序完成——如果有的話),就叫作“早期綁定”。

          Java在運行時動態(tài)的調(diào)用方法,這叫后期綁定(late binding,后期綁定也叫作“動態(tài)綁定”或“運行時間綁定”)。
          注:final方法不能被重載,對方法的調(diào)用可以在編譯時解決,這屬于早期綁定。

          Java的所有方法綁定都采用“后期綁定”技術(shù),除非一個方法已被明確聲明成final。也就是說,我們通常不必關(guān)心是否會進行后期綁定——它是自動進行的。

          多態(tài)性是指允許不同類的對象對同一消息作出響應(yīng)。做個簡單比喻:你兒子喊你,你會說:“嗨,兒子”。你父親喊你,你會說:“嗨,爸爸。”。對同一消息(有人喊你),做出的反應(yīng)不同(做出不同的反應(yīng))。

          常見的兩種多態(tài)方式為:① 重寫 ② 重載

          重寫(Overriding)是父類與子類之間多態(tài)性的一種表現(xiàn),如果在子類中定義某方法與其父類有相同的名稱和參數(shù),我們說該方法被重寫 (Overriding)。子類的對象使用這個方法時,將調(diào)用子類中的定義,而父類中的定義則被“屏蔽”了。

          注意:
          1、 方法名稱一定要一樣
          2、 返回值的數(shù)據(jù)類型要一樣。
          3、 所使用的參數(shù)要一樣,包括參數(shù)個數(shù)及每個參數(shù)的數(shù)據(jù)類型也要一樣。
          4、 限定詞的使用權(quán)限只能越開放,不能越封閉。
          5、 類方法不能被重寫,只有未使用static限定詞的方法可以被重寫。 

          重載(Overloading)是一個類中多態(tài)性的一種表現(xiàn)。如果在一個類中定義了多個同名的方法,它們或有不同的參數(shù)個數(shù)或有不同的參數(shù)類型,則稱為方法的重載(Overloading)。Overloaded的方法是可以改變返回值的類型。

          為什么要重載方法?
          重載方法允許Java支持運行時多態(tài)性。多態(tài)性是面向?qū)ο缶幊痰谋举|(zhì),原因如下:它允許通用類指定方法,這些方法對該類的所有派生類都是公用的。同時該方法允許子類定義這些方法中的某些或全部的特殊實現(xiàn)。重載方法是Java實現(xiàn)它的多態(tài)性—“一個接口,多個方法”的另一種方式。
           
          構(gòu)造函數(shù)可以從超類那里繼承,也可以互相重載。類的若干個構(gòu)造函數(shù)可以相互調(diào)用,一個構(gòu)造函數(shù)調(diào)用另一構(gòu)造函數(shù)時,可以使用關(guān)鍵字this。同時,這個調(diào)用語句應(yīng)該是整個構(gòu)造函數(shù)的第一個可執(zhí)行語句。

          參考:Thinking.in.Java簡體中文第二版

          posted on 2007-07-11 17:26 真善美 閱讀(279) 評論(0)  編輯  收藏 所屬分類: Java學(xué)習(xí)
          主站蜘蛛池模板: 深州市| 邯郸市| 乾安县| 额济纳旗| 白山市| 通河县| 墨脱县| 宜都市| 长阳| 监利县| 玛多县| 刚察县| 循化| 光泽县| 册亨县| 镇康县| 临高县| 平顶山市| 昌邑市| 邳州市| 平邑县| 宁化县| 阳江市| 科技| 什邡市| 桃源县| 冀州市| 邻水| 苏尼特左旗| 宝鸡市| 绍兴县| 毕节市| 寿光市| 合山市| 泽州县| 海林市| 乐业县| 礼泉县| 子长县| 类乌齐县| 嘉定区|