开发者学堂课程【【名师课堂】Java 高级开发:认识反射机制】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/372/detail/4623
认识反射机制
目录
一、 具体内容
二、 范例:调用 g etClass
三、 总结
一、 具体内容
反射指的是对象的反向处理操作,首先需要观察一下‘‘正’’的操作。在默认情况下,必须要先导入一个包,而后才能产生类的一个实例化对象:
例如
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;
public class TestDemo {
public static void main(String[ ] args) {
Date date = new Date( ) ; //正常来讲需要通过类才可以产生实例化对象
System.out.println(date.getclass ( ));
}
}
此时通过对象的确取得了对象的来源,这就是“反”的本质。
如:
我们通过 getclass 找到对象 date 的来源,之后就可以对这个对象的来源进行控制,即为核心所在
执行操作的结果:Class java,until,Date
三、总结
在反射的世界里面它所看重的不再是一个对象,而是对象身后的组成(类、构造、普通、成员等),这就是“反”的本质