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