java學習筆記(八)多態與抽象

來源:互聯網
上載者:User

標籤:

多態和抽象是從繼承引出來的兩個重要的概念,多態允許對象以多種形式存在,而抽象則允許建立抽象類別。

多態是指一個對象有多種形式的能力。一個類的子類可以定義它們唯一的行為,同時共用父類的某些相同特徵。動態多態指在運行中系統才能動態確定方法所指的對象。

多態的技術基礎:

向上轉型技術:一個父類的引用變數可以指向不同的子類對象,或者說一個子物件可以被當做一個父類類型;

instanceof關鍵字:用於判斷運行時對象的真正類型;

動態綁定技術:運行時根據父類引用變數所指對象的實際類型執行相應的子類方法,從而實現多態性。

向上轉型:從低精度資料類型向高精度資料類型轉換時實行自動轉換;向下轉型:從高精度資料類型向低精度資料類型轉換時,需要使用強制類型轉換符。子類向父類向上轉型是自動轉換,父類向子類必須使用強制類型轉換才能實現向下轉型;轉換之前先用if判斷,關鍵字instanceof判斷前對象是否是後對象的執行個體。ClassCastException類型轉換異常。

一個方法的調用與該方法所在的類關聯起來,稱為綁定。

靜態繫結(前期綁定):在程式執行前方法已經被綁定,此時由編譯器或其他串連程式實現。針對java簡單的可以理解為程式編譯期的綁定,java中的方法只有final、static、private和構造器是前期綁定。

動態綁定(後期綁定):在運行時根據具體對象的類型進行綁定。java中所有的普通方法,都採用動態綁定技術。

多態的主要應用:
多態參數:就是當方法的某個形式參數是一個引用的時候,與該引用相容的任何對象都可以傳遞給方法,從而允許方法接受不同資料類型的形式參數。異構集合:多態最常見的應用是建立一個不是同一類型,但是有共同父類的資料集合。不同對象的集合稱為異構集合。

抽象:關鍵字abstract,在編寫類時,通常會在類中定義一些方法,用來描述該類所具有的行為。在類的方法體中,我們編寫代碼實現該類所要執行的行為。修飾類:抽象類別不能被執行個體化,需要繼承(沒有業務意義)。修飾方法:這個方法沒有主體(主體沒有實際意義)。抽象方法必須在抽象類別中,抽象方法在子類中必須得到實現,除非子類也是抽象類別。從設計角度看,將一個抽象方法放在父類中,可以強制任何子類實現一個特別的行為。

 

java學習筆記(八)多態與抽象

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.