重寫方法和傳回型別差異
重寫方法的回傳類型可以不同嗎?
Java 對協變返回類型的支援允許重寫的方法擁有比它們本身的方法更具體的返回類型override.
重寫方法的返回類型必須可分配給被重寫方法的回傳類型。例如:
class ShapeBuilder { ... public Shape build() { .... } class CircleBuilder extends ShapeBuilder{ ... @Override public Circle build() { .... }
依據Java 語言規格(第8.4.5 節),如果滿足下列條件,則允許傳回型別可替換:
遺留行為(Java 5 及之前)
先前到Java 5,重寫的方法具有不變的返回類型,這意味著它們需要匹配重寫方法的回傳類型完全正確。
以上是Java 中的重寫方法可以有不同的回傳類型嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!