Java反射

269 阅读1分钟

一、什么是反射?

在运行状态中,对于任何一个类,都能获取到这个类的属性和方法;对于任何一个对象,都能调用它的属性和方法,这种动态获取对象信息或调用对象方法的功能称为反射。

二、反射的三种方式

建立一个学生类

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());