最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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)的評論 (共 條)

使用qq登录你需要登录后才可以评论。
山西省| 团风县| 富宁县| 双峰县| 大安市| 富平县| 揭阳市| 望城县| 武邑县| 武平县| 甘孜| 咸阳市| 庆元县| 南城县| 曲阜市| 二连浩特市| 永州市| 黔西| 虎林市| 合山市| 西藏| 济宁市| 得荣县| 台北县| 古丈县| 天峨县| 河池市| 文登市| 万山特区| 东丰县| 平阳县| 夏津县| 靖江市| 金溪县| 牟定县| 灌云县| 永福县| 承德市| 合阳县| 肇州县| 峨边|