一、Java反射机制
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为Java语言的反射机制。
二、Class类
该类的实例Class表示正在运行的Java应用程序中的类和接口。
创建一个Class有一下方法
Object o = new Object();
//方法一
Class<Object> c1 = Object.class;
//方法二
Class<Object> c2 = (Class<Object>) o.getClass();
//方法三
Class<Object> c3 = (Class<Object>) Class.forName("java.lang.Object");
//可以通过类的类型创建该类的实例对象
Object object = c1.newInstance();
三、Constructor类
Constructor提供有关类的单个构造函数的信息和访问权限。
四、Field类
Field提供有关类或接口的单个字段的信息和动态访问。反射字段可以是类(静态)字段或实例字段。
五、Method类
提供有关类或接口上的单个方法的信息和访问权限。反射的方法可以是类方法或实例方法(包括抽象方法)。
六、Modifier类
Modifier类提供static了解码类和成员访问修饰符的方法和常量。修饰符集表示为具有表示不同修饰符的不同位位置的整数。
七、其他
- TypeVariable 接口,描述类型变量(如 T extends Comparable<? super T>)
- WildcardType 接口, 描述通配符 (如?super T)
- ParameterizedType 接口, 描述泛型类或接口类型(如 Comparable<? super T>)
- GenericArrayType 接口,描述泛型数组(如 T[ ])