反射

来源:互联网 发布:设计师笔记本2017知乎 编辑:程序博客网 时间:2024/06/05 07:26

反射机制:所谓的反射机制就是java语言在运行时拥有一项自观的能力。通过这种能力可以彻底的了解自身的情况为下一步的动作做准备。下面具体介绍一下java的反射机制。这里你将颠覆原来对java的理解。

Java的反射机制的实现要借助于4个类:classConstructorFieldMethod;其中class代表的时类对 象,Constructor-类的构造器对象,Field-类的属性对象,Method-类的方法对象。通过这四个对象我们可以粗略的看到一个类的各个组 成部分。

Class:程序运行时,java运行时系统会对所有的对象进行运行时类型的处理。这项信息记录了每个对象所属的类,虚拟机通常使用运行时类型信息选择正 确的方法来执行(摘自:白皮书)。但是这些信息我们怎么得到啊,就要借助于class类对象了啊。在Object类中定义了getClass()方法。我 们可以通过这个方法获得指定对象的类对象。然后我们通过分析这个对象就可以得到我们要的信息了。

比如:ArrayList arrayList;

Class clazz = arrayList.getClass();

然后我来处理这个对象clazz

当然了Class类具有很多的方法,这里重点将和ConstructorFieldMethod类有关系的方法。

Reflection Java程序开发语言的特征之一,它允许运行中的 Java程序对自身进行检查,或者说“自审”,并能直接操作程序的内部属性。Java的这一能力在实际应用中也许用得不是很多,但是个人认为要想对java有个更加深入的了解还是应该掌握的。

1. 检测类:

2. 2、 在类中寻找指定的方法,同时获取该方法的参数列表,例外和返回值

3. 3、 获取类的构造函数信息,基本上与获取方法的方式相同

4. 4、 获取类中的各个数据成员对象,包括名称。类型和访问修饰符号

5. 5、 通过使用方法的名字调用方法

6. 6、 创建新的对象

7. 7、 变更类实例中的数据的值

0 0
原创粉丝点击