java泛型继承问题

很好的坏人 2018-12-16 01:23:21
public class Edge<Weight extends Number & Comparable> implements Comparable<Edge>这是什么写法?

我个人理解是Weight继承了Number和Comparable

但是Java不是不能多继承吗?
...全文
315 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
很好的坏人 2018-12-19
  • 打赏
  • 举报
回复
对各位大佬的帮助感激不尽!
zhcSun 2018-12-19
  • 打赏
  • 举报
回复
public class Edge<Weight extends Number & Comparable> implements Comparable<Edge> 泛型类,Weight 其实是一个标记,类似T,E之类的,意思是该提供的泛型必须是Number 或者Comparable的子类。 类似于List<E> 其实也可以理解成 List<E extends Object>
一纸浮萍 2018-12-19
  • 打赏
  • 举报
回复
9楼正解,泛型的“extends ”关键字和Java里的继承不一样,这里只是起到了一个指示的作用,同样, super也是类似的。 代表上界, 下界的关系。
很好的坏人 2018-12-17
  • 打赏
  • 举报
回复
现在都流行说话说一半吗?
Saleayas 2018-12-17
  • 打赏
  • 举报
回复
当你使用这个泛型的时候,此时 Weight 的类型需要同时继承 Number 和 Comparable 的。 可以肯定的是他们其中至少有一个是接口。
qq_39936465 2018-12-17
  • 打赏
  • 举报
回复
Comparable本身就是接口类。估计是省略了接口关键字
yekes 2018-12-17
  • 打赏
  • 举报
回复
你可以看一下有关Java泛型边界的说明。
yekes 2018-12-17
  • 打赏
  • 举报
回复
[Edge<Weight extends Number & Comparable>] 这里的“extends ”关键字和Java里的继承不一样,这个关键字是泛型的类型参数限制。 例如:Edge<Weight extends Number & Comparable & Cloneable> 就是用来限制泛型的类型参数的。
malaganguo 2018-12-16
  • 打赏
  • 举报
回复
与的优先级大吧我觉得
  • 打赏
  • 举报
回复
继承只能一个,接口可以多个
ssson 2018-12-16
  • 打赏
  • 举报
回复
<(Weight extends Number) & (Comparable)>
大概是这个意思
很好的坏人 2018-12-16
  • 打赏
  • 举报
回复
引用 2 楼 pingguonjb 的回复:
国际化国际化

什么意思...
pingguonjb 2018-12-16
  • 打赏
  • 举报
回复
国际化国际化

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧