黑马程序员技术交流社区

标题: 泛型限定问题 [打印本页]

作者: 王廷顺    时间: 2013-6-24 14:13
标题: 泛型限定问题
本帖最后由 王廷顺 于 2013-6-25 18:36 编辑

如下代码:
public class GenericDemo4 {
/**
  * @param args
  */
public static void main(String[] args) {
  // TODO Auto-generated method stub
  Demo<String> d = new Demo<String>();
  d.print(5);
  d.print("hehe");
}
}
class Demo<T>
{
public void show(T t)
{
  System.out.println("show:"+t);
}
public <Q> void print(Q q)
{
  System.out.println("print:"+q);
}
}
我的问题是: Demo<String> d = new Demo<String>();泛型已经先指定了String,为什么d.print(5)能编译通过而且还有执行结果呢。

作者: 神之梦    时间: 2013-6-24 14:37
因为你调用的是print方法,而不是show方法
作者: ㄗs:/|丶hearts    时间: 2013-6-24 21:11
show方法有泛型限定 print方法没有
作者: 宋旭东    时间: 2013-7-2 21:50
和泛型没有直接关系,println方法有很多重写方法,可以接收各种类型的参数,字符串的,整型的,布尔型的都可以的,原因是println的方法。




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