一、什么是反射?
在运行状态中,对于任何一个类,都能获取到这个类的属性和方法;对于任何一个对象,都能调用它的属性和方法,这种动态获取对象信息或调用对象方法的功能称为反射。
二、反射的三种方式
建立一个学生类
public class Student {
private String name;
private Integer score;
private void study(String name){
System.out.println(name+"正在学习中...");
}
}
1.通过对象的getClass()方法来获取:
Student student = new Student();
Class c1 = student.getClass();
System.out.println(c1.getName());
2.通过Class.forName(包名+类名)来获取
Class c2 = null;
try {
c2 = Class.forName("com.nbpitech.oauth.controller.Student");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
System.out.println(c2.getName());
3.通过类名.class来获取
Class c3 = Student.class;
System.out.println(c3.getName());