extends和super泛型限定符
时间: 2023-05-03 18:00:39 浏览: 85
extends和super都是在Java中用于继承的关键字,用于限定继承关系和调用父类方法。其中extends用于表示一个类继承自另一个类,可以继承其所有非私有的成员变量和方法;而super则用于在子类中调用父类的方法或构造函数。
相关问题
泛型中extends和super的区别
在Java泛型中,extends和super是两个关键字,用于限制泛型类型的范围。extends用于限制泛型类型的上界,即只能是该类型或其子类;而super用于限制泛型类型的下界,即只能是该类型或其父类。
简单来说,extends用于限制泛型类型的最大范围,而super用于限制泛型类型的最小范围。例如,List<? extends Number>表示只能是Number或其子类,而List<? super Number>表示只能是Number或其父类。
在使用泛型时,需要根据实际情况选择extends或super来限制泛型类型的范围,以确保代码的正确性和可读性。
泛型中的super和extends
在泛型中,super和extends是用来限制泛型类型参数的边界的关键字。
super关键字用于限制泛型类型参数的下限,表示该泛型类型参数必须是指定类型或指定类型的父类。例如,可以使用super关键字来定义一个泛型类,该泛型类的类型参数必须是Integer类型或Integer的父类。\[2\]
extends关键字用于限制泛型类型参数的上限,表示该泛型类型参数必须是指定类型或指定类型的子类。例如,可以使用extends关键字来定义一个泛型类,该泛型类的类型参数必须是Number类型或Number的子类。\[3\]
在泛型中,使用? extends A来表示一个只读型容器,其中的元素都是A类型或A的子类型。这样可以提供泛型协变,提高代码的复用性。例如,可以定义一个List<? extends A>类型的变量,它可以引用一个ArrayList<A>、ArrayList<B>或ArrayList<C>对象。\[1\]
而使用? super B来表示一个只写型容器,其中的元素都是B类型或B的父类型。这样可以提供泛型逆变,用于只写操作。例如,可以定义一个List<? super B>类型的变量,它可以引用一个ArrayList<A>对象。\[1\]
#### 引用[.reference_title]
- *1* [Java 泛型 ? extends 与 ? super](https://blog.csdn.net/qq_41490274/article/details/122886351)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* *3* [Java泛型中extends和super的理解](https://blog.csdn.net/helloxiefei/article/details/129088874)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)