# 泛型<? extends T> 和 <? super T>

<? extentds T> 和 <? super T> 是一个不容易理解的知识点,网上很多文章都是概念和内容的堆砌,看完之后反而让人更加疑惑。本文不是一蹴而就的,而是源于作者不断的思考和沉淀,力求通过简单的例子,来讲清楚这个知识点。 ## 一个模型 为了接下来的举例说明,先构造 3 个类 `Food` 、 `Fruit` 、 `Apple` ,类之间的继承关系如下图所示: ![image-20250425161008025](day18_2025_04_25_03.assets/image-20250425161008025.png) ## 正确理解 <? extends T> 与 <? super T> 对于 <? extends T> 与 <? super T> 一般解释为: - <? extends T> 表示对象要么是 T 类型,要么是 T 的子类; - <? super T> 表示对象要么是 T 类型,要么是 T 的父类。
Last Updated: 4/25/2025, 8:53:41 AM