java中的多態(tài)是什么意思

本篇文章為大家展示了java中的多態(tài)是什么意思,代碼簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

創(chuàng)新互聯(lián)公司專注于秦淮網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供秦淮營銷型網(wǎng)站建設(shè),秦淮網(wǎng)站制作、秦淮網(wǎng)頁設(shè)計(jì)、秦淮網(wǎng)站官網(wǎng)定制、微信小程序定制開發(fā)服務(wù),打造秦淮網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供秦淮網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

多態(tài)性:多態(tài)性是指允許不同子類型的對(duì)象對(duì)同一消息作出不同的響應(yīng)。簡(jiǎn)單的說就是用同樣的對(duì)象引用調(diào)用同樣的方法但是做了不同的事情。多態(tài)性分為編譯時(shí)的多態(tài)性和運(yùn)行時(shí)的多態(tài)性。

java中的多態(tài)是什么意思

如果將對(duì)象的方法視為對(duì)象向外界提供的服務(wù),那么運(yùn)行時(shí)的多態(tài)性可以解釋為:當(dāng)A系統(tǒng)訪問B系統(tǒng)提供的服務(wù)時(shí),B系統(tǒng)有多種提供服務(wù)的方式,但一切對(duì)A系統(tǒng)來說都是透明的(就像電動(dòng)剃須刀是A系統(tǒng),它的供電系統(tǒng)是B系統(tǒng),B系統(tǒng)可以使用電池供電或者用交流電,甚至還有可能是太陽能,A系統(tǒng)只會(huì)通過B類對(duì)象調(diào)用供電的方法,但并不知道供電系統(tǒng)的底層實(shí)現(xiàn)是什么,究竟通過何種方式獲得了動(dòng)力)。

方法重載(overload)實(shí)現(xiàn)的是編譯時(shí)的多態(tài)性(也稱為前綁定),而方法重寫(override)實(shí)現(xiàn)的是運(yùn)行時(shí)的多態(tài)性(也稱為后綁定)。

運(yùn)行時(shí)的多態(tài)是面向?qū)ο笞罹璧臇|西,要實(shí)現(xiàn)多態(tài)需要做兩件事:

方法重寫(子類繼承父類并重寫父類中已有的或抽象的方法);

對(duì)象造型(用父類型引用引用子類型對(duì)象,這樣同樣的引用調(diào)用同樣的方法就會(huì)根據(jù)子類對(duì)象的不同而表現(xiàn)出不同的行為)。

java中的引用變量有兩個(gè)類型:一個(gè)編譯時(shí)類型,一個(gè)是運(yùn)行時(shí)類型。編譯時(shí)類型由聲明該變量使用的類型決定,運(yùn)行時(shí)類型由實(shí)際賦給
該變量的對(duì)象決定。如果編譯時(shí)類型與運(yùn)行時(shí)類型不一致,就可能出現(xiàn)所謂的多態(tài)?!偪駄ava講義

運(yùn)行時(shí)多態(tài)的使用例子如下:

public class PolyTest5
{
    public void run(Car car)//這樣利用公共的父類就屏蔽了子類之間的差異性,可以應(yīng)對(duì)所有的車.
    {
        car.run();//只要子類繼承了car都可以作為參數(shù)傳入方法中.如果沒有多態(tài),就要有對(duì)應(yīng)每個(gè)類的方法.非常的麻煩.
    }

    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.父類引用指向子類對(duì)象。

上述內(nèi)容就是java中的多態(tài)是什么意思,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站名稱:java中的多態(tài)是什么意思
當(dāng)前路徑:http://muchs.cn/article46/ipijhg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、企業(yè)網(wǎng)站制作、全網(wǎng)營銷推廣、Google、手機(jī)網(wǎng)站建設(shè)、App設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司