反射
概述
反射,即通过特定的方法(Class.forName,Person.class,p.getClass),获取类的字节码文件;进而将对应的属性,构造器,方法,通过反射获取对应的Field,Constructor,Method等。
作用:根据类的全路径,获取对应的字节码文件Class信息
获取Class对象的三种方式
通过类名获取 Class c = Person.class
通过一个已知的对象获取 Class c = p1.getClass()
通过全类名获取 Class c = Class.forName("com.atguigu.java.fanshe.Person")
Class相关方法
getDeclaredField(String name) | 获取特定的属性 | |
Field[] | 获取对应的属性 | |
Method[] | 获取对应的方法 | |
获取类加载器 | ||
Constructor<?>[] | 构造器 |
Field
Field 提供有关类或接口的单个字段的信息,以及对它的动态访问权限
Method
Method 提供关于类或接口上单独某个方法(以及如何访问该方法)的信息
是负责加载类的对象
Constructor 提供关于类的单个构造方法的信息以及对它的访问权限。