重写方法和返回类型差异
重写方法的返回类型可以不同吗?
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中文网其他相关文章!