反射

  • 反射定义
    • JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法(包括私有的);对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。
  • 反射获取类的所有属性和方法
package a;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

public class FanShe {
    /**
     * getDeclaredMethod 方法使用 入参是:方法名 参数名,没参数不传
     * setAccessible 如果访问私有方法 要开启
     * invoke 入参是对象、参数
     */
    public static void main(String[] args) throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
        //第一种方式获取Class对象  
        Student stu1 = new Student();//这一new 产生一个Student对象,一个Class对象。
        Class stuClass = stu1.getClass();//获取Class对象
//      Class[] p4 = {String.class};
        Method method = stuClass.getDeclaredMethod("a",String.class);
        method.setAccessible(true);
//      Object arg1s[] = {"啊哈哈哈"};
        method.invoke(stu1,"啊哈哈哈");
        
    }
}
class Student{
    private void a(String str) {
        System.out.println(str);
    }
    public void b() {
        System.out.println("2");
    }
}

 输出:啊哈哈哈

  • 反射的使用案例

Spring IOC 中的使用 :(配置文件方式)https://www.cnblogs.com/baizhanshi/p/6755716.html

原文地址:https://www.cnblogs.com/jiangym/p/13560921.html