浏览 2805 次
锁定老帖子 主题:动态代理类学习总结
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-09-28
动态代理类的字节码在程序运行时由java反射机制动态生成,无需程序员手工编写它的源代码。 java.lang.reflect包中的Proxy类和InvacationHandler接口提供了生成动态代理类的能力。 Proxy类提供了创建动态代理类的及其实例的静态方法 (1) getProxyClass()静态方法负责穿件动态代理类,它的完整定义如下: public static Class<?> getProxyClass(ClassLoader loader,Class<?>[] interface) throws IllegalArgumentException 参数loader指定了动态代理类的类加载器,参数interface指定动态代理类所要实现的接口。 (2) newProxyInstance()静态方法负责创建动态代理类的实例,它的完整定义如下: public static newProxyInstance(ClassLoader loader,Class<?> [] interface,InvocationHandler handler) throws IllegalArgumentException 参数l,oader指定动态代理类的类加载器,参数interface指定动态代理类所要实现的接口,参数handler指定与动态代理类关联的InvocationHandler对象。 2、由Proxy类的静态方法创建的动态代理类的实例具有以下特点:
参数proxy指定动态代理类实例,参数method指定被调用的方法,参数args指定向被调用方法传递的参数,invoke()方法的返回值表示被调用方法的返回值。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |