请教关于动态代理参数问题?

ydm305365 2009-09-23 10:24:49

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Proxy;

public class Client {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
RealSubject real=new RealSubject();//真实对象,也就是被代理的类
InvocationHandler dy=new DynamicSubject(real);
Class<?> cl=real.getClass();
//生成代理类
Subject subject=(Subject)Proxy.newProxyInstance(cl.getClassLoader(), cl.getInterfaces(), dy);
subject.request();




}

}


我在Proxy.newProxyInstance中传递的第一个参数明明是真实对象,也就是被代理的类的类加载器呀,为啥,我看jdk文档中这样写的呢

public static Object newProxyInstance(ClassLoader loader,
Class<?>[] interfaces,
InvocationHandler h)


loader - 定义代理类的类加载器
interfaces - 代理类要实现的接口列表
h - 指派方法调用的调用处理程序
为什么,哪里出问题了?
...全文
186 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
test2500 2012-08-18
  • 打赏
  • 举报
回复
为什么我在第一个参数上敲入dy.geClass().getClassLoader()和cl.getClassLoader()都可以?
coolhty 2009-09-24
  • 打赏
  • 举报
回复
你就理解成被代理类吧。。

这毕竟不是国人写的,是翻译过来的。
lulu0126 2009-09-23
  • 打赏
  • 举报
回复
mark
ydm305365 2009-09-23
  • 打赏
  • 举报
回复
Proxy.newProxyInstance中传递的第一个参数明明是真实对象,也就是被代理的类的类加载器,而jdk文档中说是定义代理类的类加载器
windforcecn 2009-09-23
  • 打赏
  • 举报
回复
不知道你说什么

ClassLoader loader 已经指明是类加载器

你的第一个参数cl.getClassLoader()

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧