溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Java多態(tài)怎么用

發(fā)布時(shí)間:2021-09-23 11:22:58 來源:億速云 閱讀:139 作者:小新 欄目:編程語言

小編給大家分享一下Java多態(tài)怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

多態(tài)概述

  多態(tài)是繼封裝、繼承之后,面向?qū)ο蟮牡谌筇匦浴?/p>

  現(xiàn)實(shí)事物經(jīng)常會(huì)體現(xiàn)出多種形態(tài),如學(xué)生,學(xué)生是人的一種,則一個(gè)具體的同學(xué)張三既是學(xué)生也是人,即出現(xiàn)兩種形態(tài)。

  Java作為面向?qū)ο蟮恼Z言,同樣可以描述一個(gè)事物的多種形態(tài)。如Student類繼承了Person類,一個(gè)Student的對(duì)象便既是Student,又是Person。

多態(tài)的定義與使用格式

  多態(tài)的定義格式:及時(shí)就是父類的引用變量指向子類對(duì)象

  父類類型變量名=new子類類型();

  變量名.方法名();

  A:普通類多態(tài)定義的格式

  父類變量名=new子類();

多態(tài)成員的特點(diǎn)

  A:多態(tài)成員變量

  當(dāng)子父類中出現(xiàn)同名的成員變量時(shí),多態(tài)調(diào)用該變量時(shí):

  編譯時(shí)期:參考的是引用型變量所屬的類中是否有被調(diào)用的成員變量。沒有,編譯失敗。

  運(yùn)行時(shí)期:也是調(diào)用引用型變量所屬的類中的成員變量。

  簡(jiǎn)單記:編譯和運(yùn)行都參考等號(hào)的左邊。編譯運(yùn)行看左邊。

  B:多態(tài)成員方法

  編譯時(shí)期:參考引用變量所屬的類,如果沒有類中沒有調(diào)用的方法,編譯失敗。

  運(yùn)行時(shí)期:參考引用變量所指的對(duì)象所屬的類,并運(yùn)行對(duì)象所屬類中的成員方法。

  簡(jiǎn)而言之:編譯看左邊,運(yùn)行看右邊

  多態(tài)中向上轉(zhuǎn)型與向下轉(zhuǎn)型

  多態(tài)的轉(zhuǎn)型分為向上轉(zhuǎn)型與向下轉(zhuǎn)型兩種:

  A:向上轉(zhuǎn)型:當(dāng)有子類對(duì)象賦值給一個(gè)父類引用時(shí),便是向上轉(zhuǎn)型,多態(tài)本身就是向上轉(zhuǎn)型的過程。

  使用格式:

  父類類型變量名=new子類類型();

  如:

  Personp=newStudent();

  B:向下轉(zhuǎn)型:一個(gè)已經(jīng)向上轉(zhuǎn)型的子類對(duì)象可以使用強(qiáng)制類型轉(zhuǎn)換的格式,將父類引用轉(zhuǎn)為子類引用,這個(gè)過程是向下轉(zhuǎn)型。如果是直接創(chuàng)建父類對(duì)象,是無法向下轉(zhuǎn)型的

  使用格式:

  子類類型變量名=(子類類型)父類類型的變量;

  如:

  Studentstu=(Student)p;//變量p實(shí)際上指向Student對(duì)象

多態(tài)的優(yōu)缺點(diǎn)

  優(yōu)點(diǎn):可以提高可維護(hù)性(多態(tài)前提所保證的),提高代碼的可擴(kuò)展性

  缺點(diǎn):無法直接訪問子類特有的成員

以上是“Java多態(tài)怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI