关于T extends A和? extends A的介绍以及区别,java中泛型的使用

就是我不知道“T”具体是啥,但是我知道它的父类是A
和上面一个效果

区别:
用于声明;单独使用的使用用

举例:

public class Test {}

这里在类名后直接跟
这样在类中,凡是用到“T”的地方,都可以直接用T代表。

public void haha(List strs){}

这里List里面的类型具体是啥不知道,但是知道继承自A

看完例子发现不了区别,别急,上面都说了用于声明,
我们试试将haha方法放进Test类中,然后将haha方法中换成,就像这样:

public class Test {
	public void haha(List strs){}
}

发现了吗?其实这就相当于声明了T,只不过声明位置在类上,你不太习惯而已。
一般都是类上使用,为了声明一个T,在类中使用。

下面多学点。
既然用于声明 ,那么我就是想在单独方法中声明“T”怎么办?
很简单:

public  void haha(List strs){}

还是声明,只不过方法中的声明,是在返回值之前声明,
类中声明是在类名之后。

你可能感兴趣的:(java)