JAVA-反射-getGenericSuperclass()介绍
2015-07-05 21:16
459 查看
1 public class Person<T> { 2 3 } 4 5 import java.lang.reflect.ParameterizedType; 6 import java.lang.reflect.Type; 7 8 public class Student extends Person<Student> { 9 public static void main(String[] args) { 10 Student st=new Student(); 11 Class clazz=st.getClass(); 12 //getSuperclass()获得该类的父类 13 System.out.println(clazz.getSuperclass()); 14 //getGenericSuperclass()获得带有泛型的父类 15 //Type是 Java 编程语言中所有类型的公共高级接口。它们包括原始类型、参数化类型、数组类型、类型变量和基本类型。 16 Type type=clazz.getGenericSuperclass(); 17 System.out.println(type); 18 //ParameterizedType参数化类型,即泛型 19 ParameterizedType p=(ParameterizedType)type; 20 //getActualTypeArguments获取参数化类型的数组,泛型可能有多个 21 Class c=(Class) p.getActualTypeArguments()[0]; 22 System.out.println(c); 23 }
24 } 25 26 打印结果: 27 28 class com.test.Person 29 com.test.Person<com.test.Student> 30 class com.test.Student
相关文章推荐
- Java程序设计日志一
- MyBatis查询传一个参数时报错:There is no getter for property named 'sleevetype' in 'class java.lang.Integer
- Eclipse主题更换方法
- java 线程基础知识
- [LeetCode][Java] Add Two Numbers
- 关于mac版eclipse的配置问题
- javaSE学习笔记之反射
- Eclipse关闭检查
- java 错误:由于文件名不对所造成
- eclipse 远程调试mapreduce
- [LeetCode][Java] Two Sum
- 一种JAVA线程轮训调度算法(转载)
- java基础------抽象类和接口
- Java堆排序(HeapSort)算法实现
- Struts2框架学习(三) 数据处理
- Struts2框架学习(二) Action
- Struts2框架学习(一)
- spring框架学习(六)AOP
- spring框架学习(五)注解
- spring框架学习(四)自动装配