繼承多態問題

1.為什么用子類對象去實例化接口 是 A a = new B();

原因是面向接口編程,提高代碼維護靈活性及移植性!


題目


System.out.println(a2.show(b));? 結果是“B And A”,為什么不是 “B And B”或“A And A”呢?

已知a2的類型是A,實際對象是B。

那么 a2.show(b) 以根據class A的定義來選擇方法,自然是進入show(A)方法。 正好 B 又覆蓋了 show(A)方法,所以最終執行的是 B.show(A) 方法。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,760評論 18 399
  • Java經典問題算法大全 /*【程序1】 題目:古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子...
    趙宇_阿特奇閱讀 1,904評論 0 2
  • **2014真題Directions:Read the following text. Choose the be...
    又是夜半驚坐起閱讀 9,850評論 0 23
  • 2017年5月17日 星期三 晴 今天寶貝回來后還是不放心的問:媽媽,你給我報上“藍樹谷”了沒?得到肯定的...
    王涵媽媽閱讀 248評論 0 0
  • 愿你所有快樂,無需假裝。 愿你此生盡興,赤誠善良。 祝你歲月無波瀾,敬我余生不悲歡。 ? ??? From Int...
    篤學青衿閱讀 83評論 0 0