A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区


理解为一个解剖重构的过程。动态加载一个类,获得这个类的字节码文件对象,再通过这个字节码文件对象去操作类中的各个成员变量。 
3个方法加载字节码。 
 1)创建对象,然后调用对象的getClass()方法。 
 2)每个数据类型都有它的静态属性 类名.class。 
3) forName()方法。Class clazz = class.forName(“类名”); 

当一个类中成员是私有的, 必须通过getDeclaredMethod,getDeclaredField, getDeclaredConstructor  强制取出方法来调用,并调用setAccessible(true);然后才能用。这个就是暴力反射
您需要登录后才可以回帖 登录 | 加入黑马