新聞中心
Java允許父類(lèi)或接口定義的引用變量指向子類(lèi)或具體實(shí)現(xiàn)類(lèi)的實(shí)例對(duì)象,而程序調(diào)用的方法在運(yùn)行時(shí)才動(dòng)態(tài)綁定,就是引用變量所指向的具體實(shí)例對(duì)象的方法,也就是內(nèi)存里正在運(yùn)行的那個(gè)對(duì)象的方法,而不是引用變量的類(lèi)型中定義的方法。
多態(tài)性是面向?qū)ο蟪绦蛟O(shè)計(jì)代碼重用的一個(gè)重要機(jī)制,我們?cè)恢灰淮蔚奶岬絁ava多態(tài)性。在Java運(yùn)行時(shí)多態(tài)性:繼承和接口的實(shí)現(xiàn)一文中,我們?cè)敿?xì)介紹了Java實(shí)現(xiàn)運(yùn)行時(shí)多態(tài)性的動(dòng)態(tài)方法調(diào)度;今天我們?cè)俅紊钊隞ava核心,一起學(xué)習(xí)Java中多態(tài)性的實(shí)現(xiàn)。
“polymorphism(多態(tài))”一詞來(lái)自希臘語(yǔ),意為“多種形式”。多數(shù)Java程序員把多態(tài)看作對(duì)象的一種能力,使其能調(diào)用正確的方法版本。盡管如此,這種面向?qū)崿F(xiàn)的觀點(diǎn)導(dǎo)致了多態(tài)的神奇功能,勝于僅僅把多態(tài)看成純粹的概念。
Java中的多態(tài)總是子類(lèi)型的多態(tài)。幾乎是機(jī)械式產(chǎn)生了一些多態(tài)的行為,使我們不去考慮其中涉及的類(lèi)型問(wèn)題。本文研究了一種面向類(lèi)型的對(duì)象觀點(diǎn),分 析了如何將對(duì)象能夠 表現(xiàn)的行為和對(duì)象即將表現(xiàn)的行為分離開(kāi)來(lái)。拋開(kāi)Java中的多態(tài)都是來(lái)自繼承的概念,我們?nèi)匀豢梢愿械?,Java中的接口是一組沒(méi)有公共代碼的對(duì)象共享實(shí) 現(xiàn)。
**多態(tài)的分類(lèi)**
多態(tài)在面向?qū)ο笳Z(yǔ)言中是個(gè)很普遍的概念.雖然我們經(jīng)常把多態(tài)混為一談,但實(shí)際上 有四種不同類(lèi)型的多態(tài)。在開(kāi)始正式的子類(lèi)型多態(tài)的細(xì)節(jié)討論前,然我們先來(lái)看看普通面向?qū)ο笾械亩鄳B(tài)。
在這樣一個(gè)體系中,多態(tài)表現(xiàn)出多種形式的能力。通用多態(tài)引用有 相同結(jié)構(gòu)類(lèi)型的大量對(duì)象,他們有著共同的特征。特定的多態(tài)涉及的是小部分沒(méi)有相同特征的對(duì)象。四種多態(tài)可做以下描述:
◆強(qiáng)制的:一種隱 式做類(lèi)型轉(zhuǎn)換的方法。
◆重載的:將一個(gè)標(biāo)志符用作多個(gè)意義。
◆參數(shù)的:為不同類(lèi)型的參數(shù)提供相同的操作。
◆包含的:類(lèi)包含關(guān)系的抽象操作。
了解更多java相關(guān)課程技術(shù)歡迎關(guān)注小編!
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
分享文章:什么是多態(tài)?java中實(shí)現(xiàn)多態(tài)的機(jī)制是什么?-創(chuàng)新互聯(lián)
分享鏈接:http://fisionsoft.com.cn/article/dhcgoi.html