java反射专题二

一丶Class中经常使用方法详解

1)getFields()java

只能获取到运行时类中及其父类中声明为public的属性spa

2)getDeclaredFields()code

获取运行时类自己声明的全部属性对象

3)getMethods()blog

获取运行时类中及其父类中声明为public的方法接口

4)getDeclaredMethods()get

获取运行时类自己声明的全部方法io

5)getSuperclass()class

获取运行时类的父类泛型

6)getGenericSuperclass()

获取运行时类带泛型的父类

7)获取运行时类的父类的泛型以下:

Class clazz = Person.class;
       Type type = clazz.getGenericSuperclass();//获取带泛型的父类
       ParameterizedType param = (ParameterizedType)type;//强转为子类
       Type[] ars = param.getActualTypeArguments();//得到父类的泛型,可能有多个,例如map<k,v>
       System.out.println(((Class)ars[0]).getName()); //Class是Type接口的实现类,因此能够强转,输出父类的泛型

8)getInterfaces()

获取运行时类实现的接口

9)getPackage()

获取运行时类所在的包

10)getAnnotations()

获取运行时类的注解

二丶Field中经常使用方法详解

1)getModifiers()

得到属性的权限修饰符,返回对应的整数形式

2)getType()

获取属性的类型,返回的是Class对象

3)getName()

获取属性名

三丶Method中经常使用方法详解

1)getAnnotations()

获取方法上的全部注解

2)getName()

获取方法名

3)getModifiers()

得到方法的权限修饰符,返回对应的整数形式

4)getReturnType()

获取方法的返回值类型,返回的是Class对象

5)getParameterTypes()

获取方法的形参类型,返回的是Class[] 对象

6)getExceptionTypes()

获取方法的抛出异常类型,返回的是Class[] 对象

相关文章
相关标签/搜索