目录



PS:鉴于反编译文件的先进性,如果我们反编译还是可以看到泛型的


这个和c++的差不多

例子:

这一种用接口实现类的引用来创建时,那么就很明确的这个实现类中T是String,所以就是string,定死了的。
这一种是用接口的引用来创建的

此时如果调用getName(),这时它的参数类型和返回值类型都变成Object而不是上面的String

因为现在引用是用泛型接口创建的,那这时泛型接口也没给具体的T,所以就是Object

给了之后,就有具体的值了





所以这样会报错的:




从而可以方便多态的使用,举个例子:


我们知道Integer是继承Number的,但为什么这里上面会报错呢?这难道不是多态吗?
因为在Java泛型只是考虑一个类型的识别,a就是a,不能是b,不会考虑继承的关系,不会有多态匹配机制

![]()


这是generic如果是string就会报错


不适用于泛型类哦
会报错:

