Examly題庫立即開始練習
初考-統計資料處理大意10921單選題

關於 Java 程式語言的方法重寫(method overriding )描述,何者錯誤?假設類別(class)A 的方法 m1()被類別 B 重寫。

AB 的 m1()的參數列(包含參數的個數和參數的型別)必須和 A 的 m1()的參數列相同
BB 的 m1()的傳回型別如果和 A 的 m1()不同,則 B 的 m1()的傳回型別必須是 A 的 m1()的傳回型別的子類別(subclass)
CB 的 m1()存取權限必須比 A 的 m1()的存取權限要嚴格正確答案
DB 的 m1()所擲的例外(throw exception)必須是 A 的 m1()所擲的例外的子集合或是子集合的 subclass
答案與詳解
C
正確答案
方法重寫時,子類別的存取權限不可比父類別更嚴格,只能相同或更寬鬆。

為什麼答案是 C

錯誤!方向顛倒。重寫方法的存取權限必須「相同或更寬鬆」,不可更嚴格。例如父類別是 public,子類別就不能改成 protected 或 private,否則違反 Liskov 替換原則。

考點:參數列相同考點:共變回傳型別考點:存取權限寬鬆考點:例外範圍縮小
載入中…

資料處理大意 相關題目

想練更多資料處理大意考古題?

Examly 收錄 38 萬+ 道歷屆題目,每題都有像這樣的精選詳解。免費下載,立即開練。

Download on theApp Store即將推出Google Play
黑皮