Reflection 反射
目录 Reflection 反射 反射的定义 反射的作用 Class类 Class类的对象获取 Class API 反射操作泛型 反射操作注解 反射的性能问题 Reflection 反射 反射的定义 反射机制: 在程序运行时可以加载,探知,使用编译期间完全未知的类 程序在运行状态中,可以动态加载一个只有名称的类,对于任意一个加载的类,都能够知道这个类的所有属性和方法;同时任意一个对象也都能够调用它的任意一个方法和属性。同时一个类只有一个反射对象,比如多次调用Class.forName得到的也是相同对象 形象的说: 使用以下反射代码来获取一个类的对象 Class c = Class.forName("com.company.project.ClassName"); 当加载完成后,堆内存中就产生了一个ClassName类型的对象,通过这个对象我们就可以看到类的结构,这个就时反射 反射的作用 动态加载类、动态获取类的信息(属性、方法、构造器) 动态构造对象 动态调用类和对象的任意方法、构造器 动态调用和处理属性 获取泛型信息 处理注解 Class类 public final class Class extends Object implements Serializable, GenericDeclaration, Type, AnnotatedElement