,,Java中extends一定是代表继承吗-

,,Java中extends一定是代表继承吗?

今天,边肖将与你分享一篇关于Java中的扩展是否必须代表继承的文章。边肖觉得内容挺好的,现在分享给大家,很有参考价值。有需要的朋友一起看看吧。

Java中用哪个关键字来表示继承?延伸!没错,这是Java小学生都知道的常识。但是extends还有别的意思吗?在任何情况下都一定代表继承吗?不一定。

我们知道Collections类有一个静态方法sort,用于对列表进行排序。该方法要求列表中的元素类必须实现Comparable接口。让我们来看看源代码:

.

@SuppressWarnings('未选中')

公共静态T扩展可比?超级T空排序(列表列表){

list . sort(null);

}

.

明明这个方法的参数是一个List,List的泛型类型是T,却说“T扩展Comparable”(以下)?T“我们暂时不考虑),按照过去的思路,也就是说T类必须继承自Comparable。这与众所周知的Collections.sort()不同。所以我们必须熟悉这样一个概念:

在Java的泛型中,extends关键字的意思是“继承或实现”。

也就是说,通用扩展意味着“是一个”。那么Java为什么不创建一个新的“is”关键字来表示这个意思呢?要知道增加一个关键词的成本是很高的。

让我们再来看看泛型中extends和super的区别:

?Extends T定义了参数类型的上限:参数类型必须是T或T的子类型。

?T定义了参数类型的下限:参数类型必须是T或者是T的超类型。

总结

这就是本文的全部内容。希望这篇文章的内容对你的学习或工作有一定的参考价值。谢谢你的支持。如果你想了解更多,请查看下面的相关链接。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: