亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于抽象類和繼承和方法調用的一道題

關于抽象類和繼承和方法調用的一道題

慕斯3028391 2017-05-25 10:54:52
請問,o.MethodA調用的是:()A.BaseClass.methodA??B.class2.methodAC.Class1.methodA?????D.都不是以上正確答案應該選擇哪個?請給出詳細原因,謝謝!
查看完整描述

2 回答

?
深藍蝴蝶

TA貢獻2條經驗 獲得超1個贊

答案是A

這個問題涉及到函數重載和重寫。

首先看Class1,繼承了BaseClass的兩個方法methodA()和methodB(),然后重寫了一個方法methodA(Stirng arg),重載了methodB()。因此,Class1可以調用三個方法methodA()來自BaseClass、methodA(String arg)來自Class1和methodB()來自Class1。

再看Class2,繼承Class1。

Class2可調用三個方法。methodA()來自BaseClass、methodA(String arg)來自Class1和methodB()來自Class1,但是Class2重載了methodB()


因此Class2實際生效的方法

methodA() 來自BaseClass

methodA(String arg) 來自Class1

methodB() 來自Class2


o.methodA(),是調用BaseClass的方法,因此選A。

查看完整回答
1 反對 回復 2017-05-25
?
慕粉15255556666

TA貢獻12條經驗 獲得超10個贊

選擇A,class2點父類是class1,向上找會發現它的最初父類是baseclass,方法methoda 在執行的時候想找父類的方法去執行
查看完整回答
反對 回復 2017-05-25
  • 2 回答
  • 0 關注
  • 2144 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號