十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
本篇文章為大家展示了java中的多態(tài)是什么意思,代碼簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
創(chuàng)新互聯(lián)公司專注于秦淮網(wǎng)站建設服務及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供秦淮營銷型網(wǎng)站建設,秦淮網(wǎng)站制作、秦淮網(wǎng)頁設計、秦淮網(wǎng)站官網(wǎng)定制、微信小程序定制開發(fā)服務,打造秦淮網(wǎng)絡公司原創(chuàng)品牌,更為您提供秦淮網(wǎng)站排名全網(wǎng)營銷落地服務。
多態(tài)性:多態(tài)性是指允許不同子類型的對象對同一消息作出不同的響應。簡單的說就是用同樣的對象引用調(diào)用同樣的方法但是做了不同的事情。多態(tài)性分為編譯時的多態(tài)性和運行時的多態(tài)性。
如果將對象的方法視為對象向外界提供的服務,那么運行時的多態(tài)性可以解釋為:當A系統(tǒng)訪問B系統(tǒng)提供的服務時,B系統(tǒng)有多種提供服務的方式,但一切對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)。——瘋狂java講義
運行時多態(tài)的使用例子如下:
public class PolyTest5 { public void run(Car car)//這樣利用公共的父類就屏蔽了子類之間的差異性,可以應對所有的車. { car.run();//只要子類繼承了car都可以作為參數(shù)傳入方法中.如果沒有多態(tài),就要有對應每個類的方法.非常的麻煩. } 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)是什么意思,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。