国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

分享到微博請遵守國家法律
盐津县| 隆回县| 临武县| 勐海县| 许昌县| 益阳市| 株洲市| 安吉县| 大宁县| 右玉县| 潞西市| 桂林市| 绥芬河市| 峨边| 田阳县| 桦甸市| 类乌齐县| 蕉岭县| 宁海县| 永清县| 阿坝县| 泗水县| 兴海县| 图们市| 班玛县| 阿巴嘎旗| 贞丰县| 正镶白旗| 临桂县| 古丈县| 伊川县| 镇雄县| 鄂托克旗| 新兴县| 济源市| 加查县| 湾仔区| 海兴县| 交城县| 靖宇县| 慈溪市|