|
一:多態(tài)性是建立在繼承性質(zhì)之下的,如果類之間不存在繼承性就無(wú)多態(tài)性可言。
二:基本表現(xiàn):子類對(duì)象可以替代父類對(duì)象進(jìn)行調(diào)用,好處:增加了通用性,如一個(gè)變量聲明為父類對(duì)象,則可以賦值為父類對(duì)象及其子類對(duì)象。
三:注意點(diǎn):
1、eg:Person p = new Student(); 作用為:Person在內(nèi)存空間申請(qǐng)一個(gè)引用空間,new Stundent()為對(duì)象的創(chuàng)建Student類并未其中的成員分配內(nèi)存空間, = 表示引用變量p指向創(chuàng)建對(duì)象的首地址。根據(jù)p的實(shí)際引用類型來(lái)訪問(wèn)Student,因?yàn)榫幾g器是通過(guò)申明的類型進(jìn)行檢查的。
2、一個(gè)引用類型的變量申明為父類類型,實(shí)際引用的是子類對(duì)象的話,那么該變量就不能再訪問(wèn)子類中添加的屬性和方法。
3、虛方法調(diào)用:在父類中申明過(guò),子類中重寫過(guò)的方法,系統(tǒng)會(huì)根據(jù)運(yùn)行時(shí)對(duì)象的真正類型來(lái)具體調(diào)用哪個(gè)方法:即子類調(diào)用子類方法,父類調(diào)用父類方法。
4、對(duì)象造型:只有一個(gè)對(duì)象真正類型為子類類型,才能造型成功,故instanceof關(guān)鍵字的產(chǎn)生
5、協(xié)變返回類型:允許重寫方法時(shí)修改返回值的類型,但必須是重寫前方法返回類型的子類或者實(shí)現(xiàn)類類型
|
|
|