本篇文章為大家展示了java中的多態(tài)是什么意思,代碼簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
創(chuàng)新互聯(lián)公司專注于秦淮網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供秦淮營銷型網(wǎng)站建設(shè),秦淮網(wǎng)站制作、秦淮網(wǎng)頁設(shè)計、秦淮網(wǎng)站官網(wǎng)定制、微信小程序定制開發(fā)服務(wù),打造秦淮網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供秦淮網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
多態(tài)性:多態(tài)性是指允許不同子類型的對象對同一消息作出不同的響應(yīng)。簡單的說就是用同樣的對象引用調(diào)用同樣的方法但是做了不同的事情。多態(tài)性分為編譯時的多態(tài)性和運行時的多態(tài)性。
如果將對象的方法視為對象向外界提供的服務(wù),那么運行時的多態(tài)性可以解釋為:當A系統(tǒng)訪問B系統(tǒng)提供的服務(wù)時,B系統(tǒng)有多種提供服務(wù)的方式,但一切對A系統(tǒng)來說都是透明的(就像電動剃須刀是A系統(tǒng),它的供電系統(tǒng)是B系統(tǒng),B系統(tǒng)可以使用電池供電或者用交流電,甚至還有可能是太陽能,A系統(tǒng)只會通過B類對象調(diào)用供電的方法,但并不知道供電系統(tǒng)的底層實現(xiàn)是什么,究竟通過何種方式獲得了動力)。
方法重載(overload)實現(xiàn)的是編譯時的多態(tài)性(也稱為前綁定),而方法重寫(override)實現(xiàn)的是運行時的多態(tài)性(也稱為后綁定)。
運行時的多態(tài)是面向?qū)ο笞罹璧臇|西,要實現(xiàn)多態(tài)需要做兩件事:
方法重寫(子類繼承父類并重寫父類中已有的或抽象的方法);
對象造型(用父類型引用引用子類型對象,這樣同樣的引用調(diào)用同樣的方法就會根據(jù)子類對象的不同而表現(xiàn)出不同的行為)。
java中的引用變量有兩個類型:一個編譯時類型,一個是運行時類型。編譯時類型由聲明該變量使用的類型決定,運行時類型由實際賦給 該變量的對象決定。如果編譯時類型與運行時類型不一致,就可能出現(xiàn)所謂的多態(tài)?!偪駄ava講義
運行時多態(tài)的使用例子如下:
public class PolyTest5 { public void run(Car car)//這樣利用公共的父類就屏蔽了子類之間的差異性,可以應(yīng)對所有的車. { car.run();//只要子類繼承了car都可以作為參數(shù)傳入方法中.如果沒有多態(tài),就要有對應(yīng)每個類的方法.非常的麻煩. } public static void main(String[] args) { PolyTest5 test = new PolyTest5(); Car car = new BMW(); test.run(car); QQ qq = new QQ(); test.run(qq);//向上類型轉(zhuǎn)換. } } class Car { public void run() { System.out.println("car is running"); } } class BMW extends Car { public void run() { System.out.println("BMW is running"); } } class QQ extends Car { public void run() { System.out.println("QQ is running"); } }
多態(tài)的三要素:1.繼承 2.重寫 3.父類引用指向子類對象。
上述內(nèi)容就是java中的多態(tài)是什么意思,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)站名稱:java中的多態(tài)是什么意思
當前路徑:http://jinyejixie.com/article46/ipijhg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、企業(yè)網(wǎng)站制作、全網(wǎng)營銷推廣、Google、手機網(wǎng)站建設(shè)、App設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)