Java 反射
1. 反射是什么
反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性。这种动态获取类信息以及动态调用对象的方法的功能称为 Java 语言的反射机制。
- 在面对对象的世界里,万物皆对象,Java 的类也不例外—— Java 的类是 java.lang.Class 类的实例对象。
- 反射是 Java 程序开发语言的特性之一,它允许运行中的 Java 程序获取自身的信息,并且可以操作类或者对象内部的属性。
- 反射的核心是 JVM 在运行时才动态加载类或者调用方法/访问属性,它不需要事先(写代码的时候或者编译器)知道运行的对象是谁。了解反射其实需要了解 JVM。
2 反射机制能做什么
- 在运行时判断任意一个对象所属的类;
- 在运行时构造任意一个类的对象;
- 在运行时判断任意一个对象所具有的成员变量和方法;
- 在运行时调用任意一个对象的方法;
- 生成动态代理。