泛型内继承接口问题

来源:8-4 Prim算法的优化

慕勒9548534

2019-07-30

   public class MinHeap<Item extends Comparable>

这是最小堆里面的一块代码,Item应该算是自定义泛型 而Comparable是一个接口 Item在后续代码中也进行了实例化 但是在这里为什么可以继承一个接口呢,是和它作为泛型有关么, 这里不太能理解,希望老师指点一下 谢谢

写回答

1回答

liuyubobobo

2019-07-30

这里 extends 的关键字不是表示继承,而是表示“类型限定”(我不确定专业的技术术语中文是不是应该这么叫,英文叫 Bounded Type)。这是java定义的一个泛型中的语法规则。


换句话说,意思是,MinHeap里可以接收任意Comparable 接口的类型 Item,而不是任意类型 Item,限定了 Item 必须满足 Comparable 接口。


对应 java 的官方文档:https://docs.oracle.com/javase/tutorial/java/generics/bounded.html


搜索中文资料:“java 泛型 类型限定”似乎也有不少相关资料,可以研究一下:)


继续加油!:)

1
0

算法与数据结构(C++版) 面试/评级的算法复习技能包

课程专为:短时间内应对面试、升职测评等艰巨任务打造

11187 学习 · 1614 问题

查看课程