父類對象能否向其子類賦值 為什么可以為父類指針new子類對象,而不能為子類指針new父類對象?
為什么可以為父類指針new子類對象,而不能為子類指針new父類對象?由于子類包含父類,當(dāng)您將子類指針賦給父類指針時(shí),您只將子類的父部分的地址賦給父類指針,但父類不包含子類,因此您不能復(fù)制它。建議您更改
為什么可以為父類指針new子類對象,而不能為子類指針new父類對象?
由于子類包含父類,當(dāng)您將子類指針賦給父類指針時(shí),您只將子類的父部分的地址賦給父類指針,但父類不包含子類,因此您不能復(fù)制它。建議您更改程序,然后將其與程序集進(jìn)行比較。
1. 在創(chuàng)建新的子類對象時(shí),它首先執(zhí)行其父類的構(gòu)造方法,然后執(zhí)行其子類的構(gòu)造方法。
2. 我們將子類對象賦給父類(父類的引用指向子類對象,即Java中的多態(tài)性),父類對象不能調(diào)用子類方法,但如果子類重寫父類的方法,則父類調(diào)用子類方法。
父類對象可以調(diào)用子類中的方法嗎?
如果a是父類,B是子類,則是錯(cuò)誤的。如果反過來是真的。
子類對象可以分配給聲明為父類的變量:A=new b(),但在這種情況下,A只能調(diào)用父類A中聲明的方法和屬性,而不能調(diào)用子類b中聲明的方法和屬性。如果這樣編寫,通常會(huì)發(fā)生類型轉(zhuǎn)換錯(cuò)誤。你可以試試。建議看一下Java類型轉(zhuǎn)換,這一點(diǎn)非常清楚。