Java反射和注解
反射
反射是指在运行的状态,对于任意一个类,都能够知道类里面的所有的属性和方法,并能够进行属性的赋值和方法的调用 。 在Java中使用Java.lang下面的Class来表示类型的”类” ,在JDK中定义接口如下
其中T 表示运行时类的类型,如果不知道类型可以使用Class<?>,Class表示的实例表示正在运行的 Java 应用程序中的类(包含枚举) 和接口 , 所有的反射出来的结果都共享一个基类Class。
获得类型、方法、属性和构造器
在Java中有三种方法可以反射定制类的Class(以String类型为例):
1 | 1. 通过Class.from("Java.lang.String") |
为了演示反射的功能,我们首先定义一个类型:
1 | class Person |
获得Person类中的方法、属性和构造器,代码如下: