JAVA反射机制实现
简介
反射就是Reflection,Java的反射是指程序在运行期可以拿到一个对象的所有信息。
正常情况下,如果我们要调用一个对象的方法,或者访问一个对象的字段,通常会传入对象实例。
但是,如果不能获得对象实例,只有一个Object
实例,怎么访问Object
实例的所有信息呢?就需要通过反射机制。
反射是为了解决在运行期,对某个实例一无所知的情况下,如何调用其方法。
JVM反射
JVM为每个加载的class
及interface
创建了对应的Class
实例来保存class
及interface
的所有信息;
获取一个class
对应的Class
实例后,就可以获取该class
的所有信息;
通过Class实例获取class
信息的方法称为反射(Reflection);
JVM总是动态加载class
,可以在运行期根据条件来控制加载class。
访问字段
1 | import java.lang.reflect.Field; |
调用方法
1 | import java.lang.reflect.Method; |