暴力反射
概括:
如果构造方法、普通方法、字段 被private(私有)修饰,默认情况下,在该类的外部是不允许被访问的,如果使用暴力反射,即使被private修饰也可以进行操作
。
-
步骤1:调用已声明方法
-
步骤2:设置可访问权限
//1 创建实例 Class Userclass = Class.forName("com.zxf.User"); Object obj = Userclass.newInstance(); //2 调用方法 --getDeclaredMethod() 获得声明的私有方法 Method method = Userclass.getDeclaredMethod("info"); //2 获得私有构造方法 Constructor cons = Userclass.getDeclaredConstructor(int.class , String.class); //设置可访问权限 method.setAccessible(true); method.invoke(obj);