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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 。。。。。。 中级黑马   /  2013-4-12 09:02  /  1470 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 。。。。。。 于 2013-4-12 19:48 编辑
  1. class Demo<T>
  2. {
  3. public void show(T t)
  4. {
  5. System.out.println("show:"+t);
  6. }
  7. public <Q> void print(Q q)
  8. {
  9. System.out.println("print:"+q);
  10. }
  11. public static <W> void method(W t)
  12. {
  13. System.out.println("method:"+t);
  14. }
  15. }
  16. class GenericDemo4
  17. {
  18. public static void main(String[] args)
  19. {
  20. Demo <String> d = new Demo<String>();
  21. d.show("haha");
  22. //d.show(4);
  23. d.print(5);
  24. d.print("hehe");

  25. Demo.method("hahahahha");

  26. /*
  27. Demo d = new Demo();
  28. d.show("haha");
  29. d.show(new Integer(4));
  30. d.print("heihei");
  31. */
  32. /*
  33. Demo<Integer> d = new Demo<Integer>();

  34. d.show(new Integer(4));
  35. d.print("hah");

  36. Demo<String> d1 = new Demo<String>();
  37. d1.print("haha");
  38. d1.show(5);
  39. */
  40. }
  41. }
复制代码
这上面的<T><Q><W>是自己定义的吗?在开发中也可以这么用吗?

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

6 个回复

倒序浏览
<T><Q><W>定义的是泛型类,接收泛型,就是什么类都能往里传。如果加了限制如:<String>,就只能传字符串了。开发中会用得比较多呢。
回复 使用道具 举报
“这上面的<T><Q><W>是自己定义的吗?在开发中也可以这么用吗”

这里是泛型,开发的时候,你自己也定义类,如Student,Demo,Source等等,如果你定义了<Integer>,<String>,之后,还有好多自己定义的类,需要用到,那么你就必须重复的写这些东西,定义了<T>,就方便多了
回复 使用道具 举报
<T><Q><W>是泛型参数变量,就像你定义的普通方法的参数名一样,可以自定义。但使用的时候必须传递具体的类的类型作为参数值。
回复 使用道具 举报
孙金鑫 发表于 2013-4-12 19:30
“这上面的是自己定义的吗?在开发中也可以这么用吗”

这里是泛型,开发的时候,你自己也定义类,如Studen ...

谢谢啊,呵,我明白了啊
回复 使用道具 举报
孔令金 发表于 2013-4-12 19:42
是泛型参数变量,就像你定义的普通方法的参数名一样,可以自定义。但使用的时候必须传递具体的类的类型作为 ...

谢谢啊,呵,我明白了啊
回复 使用道具 举报
梁航斌 发表于 2013-4-12 09:36
定义的是泛型类,接收泛型,就是什么类都能往里传。如果加了限制如:,就只能传字符串了。开发中会用得比较多 ...

谢谢啊,呵,我明白了啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马