stinge 发表于 2013-2-3 13:58:36

Java 反射机制

JAVA反射机制
 
在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
 
功能:
 
在运行时判断任意一个对象所属的类
 
在运行时构造任意一个类的对象
 
在运行时判断任意一个类所具有的成员变量和方法
 
在运行时调用任意一个对象的方法
 
Reflection是Java被视为动态或准动态语言的一个关键性质。这个机制允许程序在运行时透过Reflection APIs取得任何一个已知名称的class的内部信息,包括其modifiers(诸如public,static等)、superclass(例如Object)、实现之interfaces(例如Serializable),也包括fields和methods的所有信息,并可于运行时改变fields内容或调用methods
 
在JDK中,主要由以下类来实现反射机制
 
Class类:代表一个类
Field类:代表类的成员变量
Method:代表类的方法
Constructor:代表类的构造方法
Array类:提供动态创建数组,以及访问数组的元素的静态方法
 
java中的任何一个对象都会对应一个Class对象
 
要使用反射,首先需要获得待处理类或对象所对应的Class对象。
 
获取某个类或某个对象所对应Class对象的常用的3种方式:
  (1)使用Class类的静态方法forName,  Class.forName("java.lang.String");
  (2)使用类得.class语法:String.class
  (3)使用对象的getClass()方法
 
 
 
 
 
 
 
页: [1]
查看完整版本: Java 反射机制