泛型类
public class Generic<T>{
private Class<T> persistentClass;
public Generic(){
System.out.println(this.getClass());
System.out.println(this.getClass().getGenericSuperclass());
this.persistentClass = ((Class<T>) ((ParameterizedType) this.getClass()
.getGenericSuperclass()).getActualTypeArguments()[0]);
}
}
测试类
public class Test extends Generic<Person>{
public static void main(String[] args) {
Test test= new Test();
}
}
问题:
1、第一行输出的结果为什么会是 Test 而不是Generic
2、谁能告诉我实例化类型参数的那行代码为什么要使用getGenericSuperclass()这个方法啊,不适用这个方法的话有没有办法实例化类型参数啊?
谢谢大神们赐教,小弟是菜鸟