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

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

關于父類可變長參數,子類繼承的問題

關于父類可變長參數,子類繼承的問題

kaguya 2016-10-08 12:43:59
public?class?Demo1?{ ???public?static?void?main(String[]?args)?{ ??????Fu?f1?=?new?Fu(); ??????f1.show("aa");//編譯通過 ??????System.out.println("----------"); ??????Fu?f2?=?new?Zi(); ??????f2.show("aa");//編譯通過 ??????System.out.println("----------"); ??????Zi?z?=?new?Zi(); //????z.show("aa");//編譯失敗 ???} } class?Fu?{ ???public?void?show(String...args)?{ ??????System.out.println("Fu.show()運行了"); ???} } class?Zi?extends?Fu?{ ???@Override ???public?void?show(String[]?args)?{ ??????System.out.println("Zi.show()運行了"); ???} }就是上面這一段,父類有個帶可變參數的方法,子類繼承并重寫該方法,但是子類參數改為數組按說多態Fu?f2?=?new?Zi(); f2.show("aa");編譯看左邊,運行看右邊才對,為什么運行時不會出錯,而且確實執行了子類的show方法?
查看完整描述

1 回答

?
煎蛋的少年

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

"aa"是一個string,不是string[] 。
查看完整回答
反對 回復 2016-10-08
  • kaguya
    kaguya
    對啊,可是為什么f2.show(aa);能正常運行子類的show()方法呢?
  • 煎蛋的少年
    煎蛋的少年
    你看下輸出信息,f2.show(aa); 執行的是父類的方法,還是子類的方法-0-。 我也理得不是很清楚。
  • 1 回答
  • 0 關注
  • 1470 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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