反射允许对成员变量,成员方法和构造方法的信息进行编程访问,就是把类里面所有东西都扒出来。比如idea的代码提示功能就是用的反射实现的。

image.png
一、获取class对象的三种方式

image.png
package com.反射demo;
public class 反射的三种实现方式 {
public static void main(String[] args) throws ClassNotFoundException {
// 1.全类名:包名 + 类名 (最常用)
Class cs1 = Class.forName("com.反射demo.Student");
System.out.println(cs1);
//2.这种一般是当做参数进行传递
Class cs2 = Student.class;
System.out.println(cs2);
// 3.当已经有了这个类的对象时才可以使用
Student student = new Student();
Class cs3 = student.getClass();
System.out.println(cs3);
}
}
二、反射获取构造方法

image.png

image.png
三、反射获取成员变量

image.png

image.png
四、反射获取成员方法

image.png

image.png
五、反射的作用
1.获取一个类里面所有的信息,获取到了之后,再执行其他的业务逻辑
比如将对象的所有成员变量以变量名+值的方式存储到本地文件

image.png
2.结合配置文件,动态的创建对象并调用方法

image.png

image.png
参考:黑马java教程