java 反射 Method类API整理

1.继承关系:

java.lang.Object
L---> java.io.Reader
    L---> java.io.BufferedReader

2所有已实现的接口:

AnnotatedElement, GenericDeclaration, Member 

3.字段

从接口 java.lang.reflect.Member 继承的字段

static final int PUBLIC
    标识类或接口的所有公共成员(包括继承成员)的集合。 
static final int DECLARED
    标识类或接口的所有已声明成员的集合。不包括继承成员。

4.方法

(1)重写Object类的方法

 boolean equals(Object obj) 
          将此 Method 与指定对象进行比较。 
 int hashCode() 
          返回此 Method 的哈希码。 
 String toString() 
          返回描述此 Method 的字符串。

(2)声明该方法的类的Class对象:

 Class<?> getDeclaringClass() 
         返回当前Menthod表示的方法所在类或接口的Class实例

(3)获取Class实例的方法:该方法的形式参数列表中的形参类型的Class对象数组,该方法抛出异常的Class对象,该方法返回值类型的Class对象:

 Class<?>[] getParameterTypes() 
          按照声明顺序返回 Class 对象的数组,这些对象描述了此 Method 对象所表示的方法的形参类型。 
 Class<?>[] getExceptionTypes() 
          返回 Class 对象的数组,这些对象描述了声明将此 Method 对象表示的底层方法抛出的异常类型。 
 Class<?> getReturnType() 
          返回一个 Class 对象,该对象描述了此 Method 对象所表示的方法的正式返回类型。 

(4)返回Type对象:形式参数列表的Type数组,抛出异常的Type数组,返回值类型的Type对象

 Type[] getGenericParameterTypes() 
          按照声明顺序返回 Type 对象的数组,这些对象描述了此 Method 对象所表示的方法的形参类型的。 
 Type[] getGenericExceptionTypes() 
          返回 Type 对象数组,这些对象描述了声明由此 Method 对象抛出的异常。 
 Type getGenericReturnType() 
          返回表示由此 Method 对象所表示方法的正式返回类型的 Type 对象。 

(5)获取方法的修饰符编码:

 int getModifiers() 
          以整数形式返回此 Method 对象所表示方法的 Java 语言修饰符。 

(6)获取方法名:

 String getName() 
          以 String 形式返回此 Method 对象表示的方法名称。 

(7)把方法转成字符串

 String toGenericString() 
          返回描述此 Method 的字符串,包括类型参数。

(8)判断方法:

 boolean isBridge() 
          如果此方法是 bridge 方法,则返回 true;否则,返回 false。 
 boolean isSynthetic() 
          如果此方法为复合方法,则返回 true;否则,返回 false。 
 boolean isVarArgs() 
          如果将此方法声明为带有可变数量的参数,则返回 true;否则,返回 false。 

(9)注释相关:

<T extends Annotation> T  getAnnotation(Class<T> annotationClass) 
          如果存在该元素的指定类型的注释,则返回这些注释,否则返回 null。 
 Annotation[] getDeclaredAnnotations() 
          返回直接存在于此元素上的所有注释。 
 Object getDefaultValue() 
          返回由此 Method 实例表示的注释成员的默认值。 
 Annotation[][] getParameterAnnotations() 
          返回表示按照声明顺序对此 Method 对象所表示方法的形参进行注释的那个数组的数组。 

(10)TypeVariable数组:

 TypeVariable<Method>[] getTypeParameters() 
          返回 TypeVariable 对象的数组,这些对象描述了由 GenericDeclaration 对象表示的一般声明按声明顺序来声明的类型变量。 

(11)指定参数列表,执行该Method表示的方法:

Object invoke(Object obj, Object... args) 
          对带有指定参数的指定对象调用由此 Method 对象表示的底层方法。 
 
这里只做简单的分类一下,具体等后面再研究研究











猜你喜欢

转载自blog.csdn.net/qq_21808961/article/details/80524172