反射是指在运行时动态地获取类的信息,并可以通过该信息来操作类或对象。通过反射,我们可以在运行时获取类的字段、方法、构造函数等信息,并能够动态地创建对象、调用方法、访问和修改字段的值。
获得类对象-Class
1、类名.class
Class<类名> 对象名=类名.class
2、对象名.getClass()
Class 对象名=对象名.getClass();
3、Class.forName
Class 对象名=Class.forName("类的全限定名");
常用方法
- newInstance(): 利用类对象中的无参构造构建一个类的实例对象
- Constructor<类名> getDeclaredConstructor(参数列表的类对象1,参数列表的类对象2,..): 获取指定参数列表的有参构造器对象
核心类:
Class类:代表Java中的类或接口。通过Class类,我们可以获取类的构造函数、方法、字段等信息。
Constructor类:代表类的构造函数。通过Constructor类,我们可以创建对象。
Method类:代表类的方法。通过Method类,我们可以调用方法。
Field类:代表类的字段。通过Field类,我们可以访问和修改字段的值。