反射反射的概述反射允许对成员变量成员方法和构造方法的信息进行编程访问获取class对象三种方式①Class.forName“全类名”②类名.class③对象.getClass获取构造方法规则 get表示获取 Declared表示私有 最后的s表示所有复数形式 如果当前获取到的是私有的必须要临时修改访问权限否则无法使用获取成员变量获取成员方法动态代理代理可以无侵入式的给方法增强功能Java通过接口保证代理的样子后面的对象和代理需要实现同一个接口接口中就是被代理的所有方法动态代理三要素1.真正干活的对象2.代理对象3.利用代理调用方法创建代理对象java.lang.reflect.Proxy类提供了为对象产生代理对象的方法