zoukankan      html  css  js  c++  java
  • 错误问题

    1.

    静态方法不可以访问类上定义的泛型

    系统会提示"Cannot make a static reference to the

    non-static type T"

     

    如果静态方法操作的应用数据类型不确定,可以将泛型定义

    在方法上

    如下所示:

        public static <W> void staticMethod(W w)  

        {  

            System.out.println("staticMethod :"+ w);  

        }  

    普通方法也可以这样定义

     public <K> void show( K  k)  

        {  

            System.out.println("Show :"+ k);  

    }  

     

    2.

    <? extends T><? super T>Java泛型中的通配符

    Wildcards边界(Bounds的概念。

      <? extends T>:是指 上界通配符(Upper Bounds

     

    Wildcards

     ‚ <? super T>:是指 下界通配符(Lower Bounds

    Wildcards

    如下所示:

       public static void fun2(Info<? extends Number> temp){  // 只能接收Number及其Number的子类  

            System.out.print(temp + "、") ;  

        }  

     public static void fun3(Info<? super Number> temp){    // 只能接收Number或Object类型 

            System.out.print(temp + "、") ;  

    }  

    生动形象的说就是? extends Number该泛型是继承Number类的;? super Number该泛型是Number类的父类或更后面的类;

    详见https://www.zhihu.com/question/20400700

    泛型的描述详见:

    http://www.cnblogs.com/wanqieddy/p/4015922.html

     

  • 相关阅读:
    <把时间当做朋友>读书笔记
    C语言-第12课
    C语言-第13课
    C语言-第11课
    python-第三课-字符串详解
    C语言-第10课
    C语言-第9课
    C语言-第8课
    C语言-第7课-enum和typedef分析
    C语言-第6课
  • 原文地址:https://www.cnblogs.com/syjp/p/11081792.html
Copyright © 2011-2022 走看看