Java中什么是受限泛型呢?
下文笔者将讲述”受限泛型“的相关简介说明,如下所示:
受限泛型
我们将设置了 泛型上限或泛型下限的泛型类称之为”受限泛型“如何设置受限泛型呢?
设置上限 定义类 [访问权限] 类名称<泛型标识 extends 类> {} 声明对象 类名称<? extend 类> 对象名称 设置下限 定义类 [访问权限] 类名称<泛型标识 super 类> {} 声明对象 类名称<? super 类> 对象名称
class Info<T> { private T var; // 定义泛型变量 public T getVar() { return var; } public void setVar(T var) { this.var = var; } public String toString(){ //直接打印 return var.toString(); } } public class TestMain { public static void main(String[] args) { Info<Integer> info1 = new Info<Integer>(); Info<Float> info2 = new Info<Float>(); Info<String> info3 = new Info<String>(); info1.setVar(80); info2.setVar(90.1F); info3.setVar("字符串"); fun(info1); fun(info2); fun(info3); //不满足泛型方法的定义,超出上限 } //只能接收Number及其Number的子类 public static void fun(Info<? extends Number> tmpInfo){ //只能接收String或Object类型的泛型 public static void fun(Info<? super String> temp){ System.out.println("输出信息:"+tmpInfo); } } /*类中定义泛型上限*/ class Info<T extends Number> { private T var; // 定义泛型变量 public T getVar() { return var; } public void setVar(T var) { this.var = var; } public String toString(){ //直接打印 return var.toString(); } }
泛型受限,就是定义时限制泛型的类型范围 如:泛型上限(extends限制其类型为 限制类及子类) 泛型下限(super限制其类型为 限制类及父类)
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。