黑马程序员技术交流社区

标题: 泛型 [打印本页]

作者: 小小瓶盖❤    时间: 2014-2-21 02:29
标题: 泛型
  1. 最近编程序的时候遇到一个java泛型的语法问题,不知道应该怎样实现,麻烦各位大牛帮忙解答:



  2. 如果父类在类上声明了泛型的话子类可以将泛型类型指定成一个具体类型,比如:



  3. class FatherA<T> {



  4. public  void test(T t) {

  5.       ;

  6. }



  7. }



  8. class ChildA extends FatherA<String>{

  9. @Override

  10. public  void test(String t) {//这里的 t 类型是 java.lang.String

  11.      t.compareTo(t);//编译通过

  12. }



  13. }



  14. 可是如果父类直接在方法前声明了泛型的话子类应该如何指定具体类型呢? 比如:



  15. class FatherB {



  16. public <T> void test(T t) {

  17.       ;

  18. }



  19. }





  20. class ChildB extends FatherB {

  21. @Override

  22. public <String> void test(String t) {  //这里的 t 其实是泛型的 并不是java.lang.String类型

  23.      t.compareTo(t);//编译不通过

  24. }



  25. }





  26. 请教各位大牛,ChildB 继承的 test方法能指定成java.lang.String类型吗?
复制代码

作者: ___________゛M    时间: 2014-2-21 07:42
public <T> void test(T t) {

      ;

}
首先,你要理解前面加T 和后面加T的含义 ,如果你是前缀加<T>的话,那么就是告诉编译器:这是我新指定的一个类型,
作者: a944636422    时间: 2014-2-21 10:01
你的compareTo()方法哪来的?能把代码给全吗?
作者: 夏新¤Amoi    时间: 2014-2-21 12:42
你都确定了String类型还要用什么泛型?




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