A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wahaha 中级黑马   /  2013-3-4 00:32  /  1347 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 夏添 于 2013-3-4 21:22 编辑

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

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

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



评分

参与人数 1技术分 +1 收起 理由
高境 + 1

查看全部评分

3 个回复

倒序浏览
  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. 牢记一点,使用泛型前,一定要先声明下,即<泛型名>

复制代码

评分

参与人数 1技术分 +1 收起 理由
高境 + 1 赞一个!

查看全部评分

回复 使用道具 举报
朱玉玺 发表于 2013-3-4 00:52

谢谢,你回答的非常仔细,想不懂都难了~~~
回复 使用道具 举报
夏添 发表于 2013-3-4 01:17
谢谢,你回答的非常仔细,想不懂都难了~~~

呵呵,互相学习。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马