java個人學習筆記:多態

來源:互聯網
上載者:User

標籤:

多態是物件導向中最重要的概念。

當一個對象,編譯時間類型和運行時類型不一致時,就會出現多態。或者說,當一個對象,使用同一個方法,卻出現不同的運行狀態,說明出現了多態。

多態的兩種體現:

方法的重載和重寫

對象的多態性(可以直接應用在抽象類別和介面上)

 

相關概念:

java中引用變數有兩個類型:編譯時間類型和運行時類型。

編譯時間類型由聲明該變數時使用的類型決定,運行時類型由實際賦給該變數的對象決定。

 

對象的多態 在java中,子類的對象可以替代父類的對象使用。

一個變數只能由一種確定的詩句類型

一個引用變數可能指向(引用)多種不同的類型對象。

子類可以看作是特殊的父類,所以子類類型的引用可以指向子類的對象:向上轉型。

 

一個參考型別變數如果申明為父類的類型,但實際引用的是子類對象,那麼該變數就不能在訪問子類中添加的屬性和方法。

屬性是在編譯時間確定的,所以子類是運行時的類型,添加的變數並不存在。

方法的動態綁定,方法的調用在運行時確定的。

 

多態的實現

需要存在繼承或者實現關係。

要有覆蓋操作。

成員方法,編譯時間:要查看引用變數所屬的類是否卻又調用方法。

             運行時:調用實際所屬的類中的重寫方法。

成員變數 不具有多態性 ,只看引用變數所屬的類。

 

instanceof 檢驗一個變數是為為xx的對象 return boolean

要求 比較的兩個類必須是子類和父類的關係,否則編譯出錯。

x instanceof a 若x屬於a的子類b x instanceof a值也為true

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.