gpt4 book ai didi

java - 继承规则 - 重写方法的返回类型可以是重写方法中声明的返回类型的子类

转载 作者:行者123 更新时间:2023-12-01 11:35:13 25 4
gpt4 key购买 nike

我正在查看继承规则。我遇到了以下规则

重写方法的返回类型可以是重写方法中声明的返回类型的子类。

我不明白其背后的目的。如果有人能解释一下。

最佳答案

它允许您在使用特定子类时使用更具体的返回类型。一个常见的例子是在重写 clone() 方法时使用更具体的返回类型。它的声明如下:

protected native Object clone() throws CloneNotSupportedException;

因此它返回对象。但是在您的特定类(例如 MyObject)中,您可以像这样重新定义克隆:

public MyObject clone() {
try {
return (MyObject)super.clone();
}
catch(CloneNotSupportedException ex) {
throw new InternalError();
}
}

这样,MyObject 类的用户就可以调用 clone() 方法并获取 MyObject 结果,而无需进行额外的转换。非常方便。

关于java - 继承规则 - 重写方法的返回类型可以是重写方法中声明的返回类型的子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30068187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com