Java的反射机制

所谓“反射(Reflection)”,就是把Java类中的各种成份映射成 相应的另外一些特殊的Java类的实例,从而允许运行动态 地完成一些工作:比如动态装载类型并创建实例,查询类的成员信 息,动态地调用方法等.

反射技术的核心类型是Class类。

 

例如:一个类有:成员变量、方法、构造方法、包等等信息,利用反射技术可以对一个类进行解剖,把个个组成部分映射成一个个对象。
     (其实:一个类中这些成员方法、构造方法、在加入类中都有一个类来描述)
在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性。
实现方法:  使用对象(类的实例)的getclass()方法,返回该对象的类的class对象。
Java 反射机制主要提供了以下功能:
l 在运行时判断任意一个对象所属的类;
l 在运行时构造任意一个类的对象;
l 在运行时判断任意一个类所具有的成员变量和方法;
l 在运行时调用任意一个对象的方法;
l 生成动态代理。

获取Class类实例的三种方式

(1)Employee e;

    ……

    Class cl=e.getClass();

(2)Class c1=Class.forName(java.util.Date)

3T.Class,如

    Class c1=int.class; Class  c2=Double[].class;

 

未经允许不得转载:OpenSL » Java的反射机制

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址