泛型内继承接口问题
来源: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 泛型 类型限定”似乎也有不少相关资料,可以研究一下:)
继续加油!:)
10
相似问题