一,当前类沿用泛型接口
需要一个属性用来保存泛型的Class,生成对象时通过构造器指定
二,父类是泛型抽象类,当前类继承并指定了父类泛型
getClass() 的对象为ProductTemplateFactory.class;
getGenericSuperclass()是获取父类的ParameterizedType类型
getActualTypeArgumnets() 是获取父类上所有的泛型类型,其中两个泛型我们都是指定了的,因此可以获得两个泛型实际的class类型
0是获得的泛型I指定的class类型
1是获得的泛型A指定的class类型
三,直接实现泛型接口类,实现类时指定了接口泛型
子类实现接口并指定了S泛型为Map
文中的Class对象为MapToEntityConvert.class
getGenericInterfaces()是获取所有接口的ParameterizedType类型,按照我们实现的接口的顺序来取,第1个取0