eclipse调试窗口的value栏的$符号代表什么意思?

发布于 2022-09-06 03:24:11 字数 330 浏览 18 评论 0

自定义Movable接口实现动态代理

  • 为什么返回的prnull?
  • 且调试窗口value栏的 $Proxy0, 的$代表什么意思?

clipboard.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

春风十里 2022-09-13 03:24:11

答案如下:

  1. 为什么Proxy.newProxyInstance(...)返回的代理对象显示值为null.
    因为代理对象的值长啥样是由InvocationHandler的实现类(即这里的参数h)中的invoke(...)方法的返回值决定. lz在当时debug时, invoke()方法return null, 所以, 这里会显示null.
  2. 调试窗口value栏的 $Proxy0.
    这是因为Java底层通过反射动态生成了一个类, 类名恰好就是: com.sun.proxy.$Proxy0, 并且实现了接口: 参数interfaces决定的接口.

这样, 调试时, value栏自然显示: $Proxy0了, $符号只是名字的一部分.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文