- 反射定义
- 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