`

Java 反射机制的补充(转自 凯旋人生)

阅读更多
Java的反射机制是运行时的环境。

Reflection是java被视为(准)动态语言的关键,它允许程序在运行时透过Reflection APIs取得任一个已知名称的类的内部信息。包括modifiers(诸如public,static等等)、superclass(如Object)等,实现的interfaces(如Serializable),也包括fields和methods所有信息,并可以在运行时改变fields内容和调用methods。java这种看透class的能力(the ability of the program to examine itself)被成为introspection(内省)。

反射可以做到:

在运行是判断任意一个对象所属的类。
在运行时构造任意一个类的对象。
在运行时判断任意一个类所具有的对象和方法。
在运行时调用任意一个对象的方法。

java.lang.reflect包

Class类:代表一个类。
Field: 代表成员变量。(成员变量也称为类的属性)。
Method:代表类的方法。
Constructor:代表类的够造方法。
Array类:提供了动态创建数组,以及访问数组元素的方法。

getName():获得类的完整的名字。
getFields():获得类的public类型属性的
getDeclaredFields():获得类的所有属性
getMethods();获得类的public类型方法
getDeclaredMethods():获得类所有方法
getMethod(String name, Class[] parameterTypes):获得类的特定方法,name参数指定方法的名字,parameterTypes 参数指定方法的参数类型。
getConstructors():获得类的public类型的构造方法。
getConstructor(Class[] parameterTypes):获得类的特定构造方法,parameterTypes 参数指定构造方法的参数类型。
newInstance():通过类的不带参数的构造方法创建这个类的一个对象

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics