<T> 代表的是泛型 ,实例化的时候将传入真正的数据类型,比如:
public interface BaseProvider<T>{
public T test();
}
实例化的时候 BaseProvider<String> api = new BaseProviderImpl<String>();此时接口里面返回的类型就是String
Class<T>在实例化的时候,T要替换成具体类
Class<?>它是个通配泛型,?可以代表任何类型
<? extends T>受限统配,表示T的一个未知子类。
<? super T>下限统配,表示T的一个未知父类。