黑马程序员技术交流社区

标题: 泛型<T>的格式问题..求扫盲.. [打印本页]

作者: wahaha    时间: 2013-3-4 00:32
标题: 泛型<T>的格式问题..求扫盲..
本帖最后由 夏添 于 2013-3-4 21:22 编辑

下面是定义两个泛型的函数,1式和2式中的<T>各代表神马意思呢???
不要讲代表泛型这种话..筒子们都晓得是泛型..求详细..谢谢!!

1.public <T> void add(T  x)
{
   //.........
}

2.public <T>  T  add(T  x)
{
   //......
}




作者: 朱玉玺    时间: 2013-3-4 00:52
  1. 1.public <T> void add(T  x)//它前边<T>是在告诉编译器说:编译器,我要使用泛型了,这个泛型的名字叫T,事先声明下,你再碰到T,别说不认识啊;有了前边的声明,后边你再在add的参数列表和下边的方法中用T的时候,编译器就不会报错了。
  2. {
  3.     //.........
  4. }

  5. 2.public <T>  T  add(T  x)//这里的<T>也是事先声明下,第二个T表示,这个方法的返回值是T类型。
  6. {
  7.     //......
  8. }
  9. 如果你碰到一个方法中没<T>这样的声明,而编译又没有报错,那肯定是在类的定义的时候声明的了<T>。比如如果你写的2方法里边没有<T>,而它属于类Students
  10. 那么Students的定义肯定是这样的。
  11. Student  <T>
  12. {
  13. //……
  14. }
  15. 牢记一点,使用泛型前,一定要先声明下,即<泛型名>

复制代码

作者: wahaha    时间: 2013-3-4 01:17
朱玉玺 发表于 2013-3-4 00:52

谢谢,你回答的非常仔细,想不懂都难了~~~
作者: 朱玉玺    时间: 2013-3-4 02:31
夏添 发表于 2013-3-4 01:17
谢谢,你回答的非常仔细,想不懂都难了~~~

呵呵,互相学习。




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