119java

2 阅读1分钟

认识反射机制

一、 具体内容

反射指的是对象的反向处理操作,首先需要观察一下‘‘正’’的操作。在默认情况下,必须要先导入一个包,而后才能产生类的一个实例化对象:

例如

package cn.mldn.demo;

import java.util.Date;

public class TestDemo {

public static void main(String[ ] args) {

Date date = new Date( ) ;  //正常来讲需要通过类才可以产生实例化对象

}

} 

所谓的“反”指的是根据对象来取得对象的来源信息,而这个“反”的操作核心的处理就在于 Object 类的一个方法,即取得 Class 对象:public final<?> getClass;该方法返回的是一个 Class 类对象,这个 Class 描述的就是类。

 

二、范例:调用 getClass

package cn.mldn.demo;

import java.util.Date;

ublic class TestDemo {

public static void main(String[ ] args) {

Date date = new Date( ) ;  //正常来讲需要通过类才可以产生实例化对象

System.out.println(date.getclass ( ));

}

}

此时通过对象的确取得了对象的来源,这就是“反”的本质。

如:

我们通过 getclass 找到对象 date 的来源,之后就可以对这个对象的来源进行控制,即为核心所在

执行操作的结果:Class java,until,Date

 

三、总结

在反射的世界里面它所看重的不再是一个对象,而是对象身后的组成(类、构造、普通、成员等),这就是“反”的本质