栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java什么是协变返回类型?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java什么是协变返回类型?

协变返回,意味着当一个方法被覆盖时,覆盖方法的返回类型被允许为覆盖方法的返回类型的子类型。

为了举例说明,通常情况是

Object.clone()
-声明为返回类型
Object
。你可以在自己的类中重写此方法,如下所示:

public class MyFoo{   ...   // Note covariant return here, method does not just return Object   public MyFoo clone()   {       // Implementation   }}

这样做的好处是,任何持有对MyFoo对象的显式引用的方法都将能够调用clone()并知道(无需强制转换)返回值是的实例

MyFoo
。如果没有协变量返回类型,则必须声明
MyFo
o中的重写方法以返回
Object
-因此,调用代码将必须显式缩减方法调用的结果(即使双方都“知道”它只能是
MyFoo
的实例) )。

请注意,没有什么特别的,

clone()
并且任何重写的方法都可以具有协变量返回值-我在这里以它为例,因为它是通常有用的标准方法。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/495335.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号