五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Java筆記--多態(tài)

2023-09-04 20:41 作者:爪哇島江戶川  | 我要投稿

一、多態(tài)介紹

同一個行為具有多個不同表現(xiàn)形式或形態(tài)的能力。


二、多態(tài)前提

1、有繼承/實(shí)現(xiàn)關(guān)系

2、有方法重寫

3、有父類引用指向子類對象

我們在這里創(chuàng)建一個抽象類和兩個子類,然后子類將父類方法重寫。

接著我們用父類引用指向子類對象

我們可以發(fā)現(xiàn),左右兩邊的類型并不相同但是并沒有報錯。

三、多態(tài)的好處

1、對象多態(tài):

前面我們用父類引用可以指向子類對象就是對象多態(tài)的一個例子。

2、行為多態(tài):

我們在主方法下面創(chuàng)建一個新的方法,然后將方法的形參設(shè)置為父類對象。

然后我們將兩個子類對象分別傳入父類方法中

發(fā)現(xiàn)方法中可以接收兩種子類對象。


四、多態(tài)中成員訪問特點(diǎn)

1、成員變量:編譯看左邊(父類),運(yùn)行看左邊(父類)

我們先創(chuàng)建一個父類和一個子類,將父類中的num定義為10,將子類中的num定義為20,然后我們用父類引用去指向子類對象,然后打印出對象num變量的值。

我們會看到,打印出的num值是父類中的值。

2、成員方法:編譯看左邊(父類),運(yùn)行看右邊(子類)

我們用對象去調(diào)用成員方法

發(fā)現(xiàn)結(jié)果走的是子類的成員方法

因?yàn)槌绦驎?dān)心調(diào)用的父類的方法是一個抽象方法,所以會走子類的重寫方法。

3、特殊情況:

前面我們說過建議被static修飾的成員變量和成員方法,建議使用類名去調(diào)用。在多態(tài)中假如我們?nèi)ナ褂脤ο竺{(diào)用靜態(tài)的static成員方法,程序會運(yùn)行父類的方法,因?yàn)樵谧止?jié)碼文件生成之后,程序會自動將對象名改為類名去調(diào)用。

五、多態(tài)的好處和弊端

1、好處:提高了程序的擴(kuò)展性

2、弊端:不能使用子類特有的成員

六、多態(tài)中的轉(zhuǎn)型

1、向上轉(zhuǎn)型

從子到父:父類引用指向子類對象

將子類對象的地址賦值給父類引用

2、向下轉(zhuǎn)型

從父到子:將父類引用所指的對象,轉(zhuǎn)交給子類類型。

這里不能直接賦值,必須做強(qiáng)制類型轉(zhuǎn)換。

七、注意事項:

當(dāng)我們用轉(zhuǎn)型去調(diào)用對象的方法時,很容易報錯,因?yàn)槲覀儾荒芘袛噙@個對象是不是這個類的成員。

我們可以利用if語句和instanceof關(guān)鍵字來判斷左邊的引用是不是右邊的數(shù)據(jù)類型。


Java筆記--多態(tài)的評論 (共 條)

分享到微博請遵守國家法律
仪征市| 龙南县| 融水| 枣强县| 穆棱市| 定兴县| 云和县| 涡阳县| 富蕴县| 平湖市| 钟祥市| 讷河市| 筠连县| 普格县| 马关县| 萝北县| 开江县| 宜黄县| 荣昌县| 中宁县| 花莲县| 顺昌县| 夹江县| 南召县| 南京市| 铁岭县| 谢通门县| 青龙| 马公市| 翁牛特旗| 美姑县| 昔阳县| 临沧市| 伊宁市| 乌海市| 绥滨县| 泾阳县| 南汇区| 平定县| 呼伦贝尔市| 武强县|