java 中的 反射机制
反射机制主要是指程序在运行过程中可以访问、检测和修改它本身状态或行为的一种能力。Java的这一能力在其它的程序设计语言中就不存在。例如, Pascal 、C 或者C++ 中就没有反射机制。
java.lang.Class类
程序在运行过程中,Java虚拟机会一直对程序中的所有对象进行运行时类型识别,这些信息记录了每个对象所属的类以及类中属性方法等相关信息。这些信息可以通过专门的类进行访问。保存这些信息的类是java.lang.Class类,每个运行中的对象都对应自身的java.lang.Class对象,可以通过这个Class对象动态操纵和监控运行中的Java程序。
如何获取java.lang.Class对象
获取一个类的Class对象有三种方式。
-
通过Class类的forName()方法
java.lang.Class类的 静态方法 public static Class<?> forName(String className)可以返回加载的类的Class对象。
通过.class的方式获得类的Class引用
可以通过类的class属性获得类的Class对象。
例子:使用类的class属性获得Class引用
通过类的引用调用getClass()方法获得类的Class引用
可以通过类的引用调用从Object类继承的getClass()方法获得类的Class引用。
例子:通过类的引用调用Object的getClass()方法获得类的Class引用
喜欢就关注我 每天跟我进步