Java中什么是受限泛型呢?

Java-教程王 Java教程 发布时间:2021-08-25 07:03:20 阅读数:16390 1
下文笔者将讲述”受限泛型“的相关简介说明,如下所示:

受限泛型

我们将设置了 泛型上限或泛型下限的泛型类称之为”受限泛型“

如何设置受限泛型呢?

设置上限
    定义类 [访问权限] 类名称<泛型标识 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限制其类型为 限制类及父类)
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaCourse/202108/855.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者