黑马程序员技术交流社区

标题: 关于泛型的一个小小的疑问... [打印本页]

作者: 黄金龙    时间: 2013-1-23 13:13
标题: 关于泛型的一个小小的疑问...
  1. /*
  2. 泛型类  泛型方法  泛型静态方法
  3. */

  4. class Demo06
  5. {
  6.         public static void main(String[] args)
  7.         {
  8.                 new FanXing<String>().show(6);
  9.                                  //public <E> void show (E e)楼下这样下这里就可以通过..那么类上面的泛型与方法那个有没关系了?方法那个是局部的?是这么理解的吧?
  10.         }
  11. }


  12. class FanXing<E>
  13. {              //public <E> void show (E e)这里这写的话是不是也代表这是一个泛型的方法呢?
  14.         public void show(E e)//随着类的类型变化
  15.         {
  16.                 System.out.println("随着类的类型变化---"+e);
  17.         }
  18.        

  19.         public <T> void print(T t) //可以接收任何类型
  20.         {
  21.                 System.out.println("可以接收任何类型---"+t);
  22.         }
  23.        

  24.         public static <W> void look(W w)//可以接收任何类型
  25.         {
  26.                 System.out.println("可以接收任何类型---"+w);
  27.         }
  28.        
  29. }
复制代码

作者: yong230    时间: 2013-1-23 13:22
类上的泛型是全局的在整个类中都起作用,因此类上的泛型如果声明为class FanXing<E>方法上泛型声明为public <E> void show (E e),则必须这样
new FanXing<String>().show("字符串");//因为方法上的泛型类型和类上声明的相同,因此调用show方法的参数也必须是String类型


作者: 高浩    时间: 2013-1-23 14:55
泛型技术,是用来将一些运行时期出现的错误,转移到编译时期,当定义了泛型,需要按照指定类型来操作,泛型技术,是用来将一些运行时期出现的错误,转移到编译时期,当定义了泛型,需要按照指定类型来操作,
这样就提高了安全行




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2