反射与动态代理

来源:互联网 发布:淘宝生意参谋销售嗯 编辑:程序博客网 时间:2024/05/21 06:12

最近重新研究了一下反射和动态代理,又有新收获。

对getDeclaredFields,getFields 对比过后发现这两种方法其实差别蛮大,这是由于以前在看文档时没有仔细留下的问题。

 

对于动态代理来说Proxy.class和InvocationHandler.class是特别重要的。

下面写了个例子:

动态代理生成步骤:
 1.创建一个实现接口InvocationHandler的类,它必须实现invoke方法;
 2.创建被代理的类以及接口;
 3.通过Proxy的静态方法newProxyInstance(ClassLoader loader, Class[] interfaces, InvocationHandler handler)创建代理
 4.通过代理调用方法