我們在實現(xiàn)一種程序運行時,可以選擇不同的數(shù)據(jù)輸入其中,當然這樣最后輸出的結(jié)果也是不一樣的。這就是多態(tài)的思想,跟我們數(shù)學(xué)中輸入不同數(shù)字到公式中產(chǎn)出不同結(jié)果是一個道理。
一、定義
多態(tài)是指的是事物的多種狀態(tài),同一操作,由于條件的不同,所以產(chǎn)生的結(jié)果也不同。
例如在程序中同一引用類型,由于實例的不同,產(chǎn)生的結(jié)果也會不同。
二、說明
1、多態(tài)是方法的多態(tài),多態(tài)和屬性是沒有半毛錢的關(guān)系的。
2、多態(tài)存在的3個必要條件:
(1)、必須得有繼承關(guān)系
(2)、子類必須重寫了父類的方法
(3)、父類的引用指向子類對象
3、父類的引用指向子類對象,用該父類的引用調(diào)用子類重寫的方法,此時多態(tài)就出現(xiàn)了
三、實例
四、多態(tài)調(diào)用的注意事項
編譯:成員變量,成員方法都需要看父類;父類沒有編譯報錯;
運行:成員變量運行父類的成員變量,成員方法運行父類重寫的方法
五、多態(tài)的好處與弊端
好處:多態(tài)配合繼承子類重寫,提高了代碼的復(fù)用性與擴展性
弊端:不能調(diào)用子類特有的方法
以上就是我們在java中對于多態(tài)內(nèi)容的學(xué)習(xí),當然這只是初步的了解,在后期文章中我們會進一步對多態(tài)展開深入的學(xué)習(xí)。更多關(guān)于“Java培訓(xùn)”的問題,歡迎咨詢千鋒教育在線名師。千鋒已有十余年的培訓(xùn)經(jīng)驗,課程大綱更科學(xué)更專業(yè),有針對零基礎(chǔ)的就業(yè)班,有針對想提升技術(shù)的好程序員班,高品質(zhì)課程助力你實現(xiàn)java程序員夢想。