5 回答

TA貢獻(xiàn)109條經(jīng)驗(yàn) 獲得超149個(gè)贊
我只說重點(diǎn):第一行:Parent????? blue
???????????????????????? 第二行:Child???????? null
這個(gè)題出的很不錯(cuò),考點(diǎn)是子類對父類方法的重寫!創(chuàng)建父類對象就不說了,應(yīng)該都明白。在創(chuàng)建子類對象時(shí)候,先執(zhí)行父類構(gòu)造器,再執(zhí)行子類構(gòu)造器,執(zhí)行父類構(gòu)造器的時(shí)候,當(dāng)運(yùn)行到print方法時(shí)會(huì)跳到子類的print方法(因?yàn)榉椒ㄖ貙懙脑?,這時(shí)候還沒有執(zhí)行子類構(gòu)造器,也就沒對子類的color進(jìn)行初始化,默認(rèn)為null。所以第二行打印的color為null。

TA貢獻(xiàn)317條經(jīng)驗(yàn) 獲得超240個(gè)贊
Parent Class. The color is Blue
Child Class. The color is null
子類初始化的時(shí)候會(huì)調(diào)用父類的構(gòu)造方法,因而會(huì)調(diào)用printColor方法,而子類的構(gòu)造方法沒有調(diào)用printColor方法,color都沒有賦值,是null值

TA貢獻(xiàn)17條經(jīng)驗(yàn) 獲得超5個(gè)贊
我以為輸出就是Blue和Red,結(jié)果卻是Blue和null。看了@冰山點(diǎn)水 的分析后恍然大悟。
添加回答
舉報(bào)