五月天青色头像情侣网名,国产亚洲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)的評論 (共 條)

分享到微博請遵守國家法律
张家界市| 德格县| 唐河县| 武平县| 上蔡县| 济南市| 上虞市| 江都市| 壶关县| 盐山县| 静安区| 兴山县| 英超| 景谷| 大港区| 托克托县| 沭阳县| 灵石县| 黑龙江省| 苗栗县| 皮山县| 嘉义市| 临洮县| 尼玛县| 镇原县| 周至县| 灵石县| 张家港市| 铜鼓县| 泽库县| 西充县| 黄石市| 漳浦县| 马龙县| 宁陵县| 安泽县| 都兰县| 贺州市| 四平市| 罗平县| 南充市|