为了账号安全,请及时绑定邮箱和手机立即绑定

moveable.getClass().getName()

Moveable moveable = (Moveable)Proxy.newProxyInstance(cls.getClassLoader(),cls.getInterfaces(),handler);
System.out.println("产生动态代理实例的类名称 = [" + moveable.getClass().getName() + "]");

Proxy类的

newProxyInstance

方法,再反射回去 找类的名字,不应该是Proxy吗?为什么是$Proxy0?

正在回答

1 回答

@CallerSensitive
public static Object newProxyInstance(ClassLoader loader,
                                      Class<?>[] interfaces,
                                      InvocationHandler h)
    throws IllegalArgumentException{
    ...
    return cons.newInstance(new Object[]{h});
    }
    这个方法返回的是一个对象,一个动态生成的代理类的对象,moveable.getClass().getName()得到的是动态生成的这个代理类的名字。
0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
模式的秘密---代理模式
  • 参与学习       54903    人
  • 解答问题       134    个

本节课程将带你领略Java编程语言中代理模式的奥妙

进入课程

moveable.getClass().getName()

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号