方法重寫中的協變回傳類型
如果滿足某些條件,Java 中的重寫方法的回傳類型可以不同。具體來說,Java 支援協變返回類型,允許重寫方法具有比它所重寫的方法更具體的返回類型。
根據Java 語言規格(JLS) 第8.4.5 節,這是允許的,只要遵循以下規則:
如果原始方法回傳參考型別:
例如,請考慮以下程式碼:
class ShapeBuilder { ... public Shape build() { .... } } class CircleBuilder extends ShapeBuilder{ ... @Override public Circle build() { .... } }
在此範例中,CircleBuilder中的build() 方法覆寫了build( ) ShapeBuilder 中的方法。所允許的。
以上是Java 中的重寫方法何時可以具有不同的回傳類型?的詳細內容。更多資訊請關注PHP中文網其他相關文章!