eclipse调试窗口的value栏的$符号代表什么意思?
自定义Movable
接口实现动态代理
- 为什么返回的
pr
为null
? - 且调试窗口value栏的
$Proxy0
, 的$
代表什么意思?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
自定义Movable
接口实现动态代理
pr
为null
?$Proxy0
, 的$
代表什么意思?由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
答案如下:
Proxy.newProxyInstance(...)
返回的代理对象显示值为null
.因为代理对象的值长啥样是由
InvocationHandler
的实现类(即这里的参数h
)中的invoke(...)
方法的返回值决定. lz在当时debug时,invoke()
方法return null
, 所以, 这里会显示null
.这是因为Java底层通过反射动态生成了一个类, 类名恰好就是:
com.sun.proxy.$Proxy0
, 并且实现了接口: 参数interfaces
决定的接口.这样, 调试时, value栏自然显示:
$Proxy0
了,$
符号只是名字的一部分.