父類(lèi)調(diào)用子類(lèi)的方法 父類(lèi)和子類(lèi)的相互轉(zhuǎn)換及父類(lèi)調(diào)用子類(lèi)的方法?
父類(lèi)和子類(lèi)的相互轉(zhuǎn)換及父類(lèi)調(diào)用子類(lèi)的方法?子類(lèi)到父類(lèi):是。父類(lèi)到子類(lèi):否。如果父對(duì)象的引用引用子類(lèi)的對(duì)象,則可以強(qiáng)制將父對(duì)象的引用轉(zhuǎn)換為子對(duì)象的引用。例如:parent P=new son()son
父類(lèi)和子類(lèi)的相互轉(zhuǎn)換及父類(lèi)調(diào)用子類(lèi)的方法?
子類(lèi)到父類(lèi):是。父類(lèi)到子類(lèi):否。如果父對(duì)象的引用引用子類(lèi)的對(duì)象,則可以強(qiáng)制將父對(duì)象的引用轉(zhuǎn)換為子對(duì)象的引用。例如:parent P=new son()son s=(son)P--correct parent P=new parent()son s=(son)P--Wrong,因?yàn)槔^承的概念是后代類(lèi)會(huì)比祖先類(lèi)更詳細(xì),所以后代類(lèi)可以強(qiáng)制轉(zhuǎn)換為祖先類(lèi),因?yàn)樽嫦扔幸恍┬袨楹蟠?lèi)示例(重定義或默認(rèn));但是當(dāng)祖先類(lèi)示例被強(qiáng)制轉(zhuǎn)換為后代類(lèi)示例時(shí),某些后代類(lèi)沒(méi)有行為祖先(即使沒(méi)有默認(rèn)實(shí)現(xiàn))。