java基础反射

来源:互联网 发布:噪音测量软件 编辑:程序博客网 时间:2024/06/05 03:23

Reflection:

java.lang.Class类:Class类的实例表示正在运行的Java 应用程序中的类和接口,没有构造方法

 常用方法:

 forName(String className) 返回与带有给定字符串名的类或接口相关联的 Class 对象。

 Field[] getDeclaredFields()返回 Field对象的一个数组,这些对象反映此 Class对象所表示的类或接口所声明的所有字段。

 Method[] getDeclaredMethods() 返回 Method对象的一个数组,这些对象反映此 Class 对象表示的类或接口声明的所有方法,

 包括公共、保护、默认(包)访问和私有方法,但不包括继承的方法。(该类中的方法信息) Constructor[] Constructor<?>[] getDeclaredConstructors()

返回 Constructor 对象的一个数组,这些对象反映此 Class 对象表示的类声明的所有构造方法。              

 java.lang.reflect.Field类:Field 提供有关类或接口的单个字段的信息,以及对它的动态访问权限(获取属性的信息)

常用方法:

getModifiers() 以整数形式返回由此Field 对象表示的字段的 Java语言修饰符。

1:public    2:private         4:protected  0:默认

 getName()返回此 Field 对象表示的字段的名称。

 getType()  返回一个 Class 对象,它标识了此Field 对象所表示字段的声明类型。

 java.lang.reflect.Method类:Method 提供关于类或接口上单独某个方法(以及如何访问该方法)的信息

 常用方法:

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

getReturnType()返回一个 Class 对象,该对象描述了此Method 对象所表示的方法的正式返回类型。

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

getParameterTypes() 按照声明顺序返回 Class对象的数组,这些对象描述了此 Method 对象所表示的方法的形参类型。

getExceptionTypes() 返回 Class 对象的数组,这些对象描述了声明将此 Method 对象表示的底层方法抛出的异常类型。

 java.lang.reflect.Constructor类:

 常用方法:

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

getName()   以字符串形式返回此构造方法的名称。

getParameterTypes()按照声明顺序返回一组Class 对象,这些对象表示此 Constructor 对象所表示构造方法的形参类型。

 java.lang.reflect.Constructor类

newInstance(Object... initargs)

 使用此Constructor 对象表示的构造方法来创建该构造方法的声明类的新实例,并用指定的初始化参数初始化该实例。

java.lang.Class类

 getDeclaredField(String name)

 返回一个 Field 对象,该对象反映此Class 对象所表示的类或接口的指定已声明字段 

java.lang.reflect.Field类:描述类或接口的字段信息

 getModifiers() 以整数形式返回由此 Field 对象表示的字段的 Java语言修饰符。

1:public    2:private         4:protected  0:默认

 getName()返回此 Field 对象表示的字段的名称。

 getType() 返回一个 Class 对象,它标识了此 Field 对象所表示字段的声明类型。

set(Object obj, Object value)将指定对象变量上此Field 对象表示的字段设置为指定的新值。

get(Object obj) 返回指定对象上此Field 表示的字段的值。

java.lang.reflect.Method类

invoke(Object obj, Object... args)

对带有指定参数的指定对象调用由此 Method 对象表示的底层方法。(回调方法)

原创粉丝点击