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

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

Java中實(shí)現(xiàn)多態(tài)的機(jī)制是什么?

2022-08-05 11:22 作者:網(wǎng)星軟件  | 我要投稿

多態(tài)是面向?qū)ο蟪绦蛟O(shè)計(jì)中代碼重用的一個重要機(jī)制,它表示當(dāng)同一個操作在不同對象時,會有不同的語義,從而會產(chǎn)生不同的結(jié)果,例如:同樣是執(zhí)行“+”操作,“3+4”用來實(shí)現(xiàn)正數(shù)相加,而“3”+“4”卻實(shí)現(xiàn)了字符串的連接。

java中有兩種多態(tài)機(jī)制,分別是編譯時多態(tài)和運(yùn)行時多態(tài)。編譯時多態(tài)是通過方法重載實(shí)現(xiàn)的,運(yùn)行時多態(tài)是通過方法的覆蓋(子類覆蓋父類方法)實(shí)現(xiàn)的。

Java實(shí)現(xiàn)多態(tài)有三個必要條件:繼承、重寫、向上轉(zhuǎn)型。

繼承:在多態(tài)中必須存在有繼承關(guān)系的子類和父類。

重寫:子類對父類中某些方法進(jìn)行重新定義,在調(diào)用這些方法時就會調(diào)用子類的方法。

向上轉(zhuǎn)型:在多態(tài)中需要將子類的引用賦給父類對象,只有這樣該引用才能夠具備技能調(diào)用父類的方法和子類的方法。

只有滿足了上述三個條件,我們才能夠在同一個繼承結(jié)構(gòu)中使用統(tǒng)一的邏輯實(shí)現(xiàn)代碼處理不同的對象,從而達(dá)到執(zhí)行不同的行為。

在java語言中,多態(tài)主要有以下兩種表現(xiàn)方式:1.方法的重載2.方法的覆蓋。

方法重載是指同一個類中有多個同名的方法,但這些方法有著不同的參數(shù),因此在編譯時就可以確定到底調(diào)用哪個方法,它是一種編譯時多態(tài)。重載可以被看作一個類中的方法多態(tài)性。

方法覆蓋是指子類可以覆蓋父類的方法,因此同樣的方法會在父類與子類中有著不同的表現(xiàn)形式。在java語言中,基類的引用變量不僅可以指向基類的實(shí)例對象,也可以指向其子類的實(shí)例對象。同樣,接口的引用變量也可以指向其實(shí)現(xiàn)的實(shí)例對象。

程序調(diào)用的運(yùn)行方法在運(yùn)行期間才動態(tài)綁定(綁定指的是將一個方法調(diào)用和一個方法主體連接到一起),就是引用變量所指向的具體實(shí)例對象的方法。通過這種動態(tài)綁定的方法實(shí)現(xiàn)了多態(tài)。由于只有在運(yùn)行時才能確定調(diào)用哪個方法,因此通過方法覆蓋實(shí)現(xiàn)的多態(tài)也可以被稱為運(yùn)行時多態(tài)。


Java中實(shí)現(xiàn)多態(tài)的機(jī)制是什么?的評論 (共 條)

分享到微博請遵守國家法律
库尔勒市| 乌拉特前旗| 冀州市| 曲沃县| 乃东县| 开远市| 郎溪县| 崇明县| 兖州市| 彰武县| 综艺| 开阳县| 无锡市| 黄龙县| 湄潭县| 慈利县| 邛崃市| 文山县| 西城区| 手机| 咸宁市| 茶陵县| 平凉市| 安康市| 星座| 梅河口市| 南雄市| 西城区| 漠河县| 邢台县| 内乡县| 仙居县| 遂宁市| 陆河县| 阿坝| 福建省| 黄平县| 巴中市| 顺昌县| 河西区| 邹城市|