动态代理之: com.sun.proxy.$Proxy0 cannot be cast to 问题

 

转:

动态代理之: com.sun.proxy.$Proxy0 cannot be cast to 问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_38409944/article/details/80296354
Exception in thread "main" java.lang.ClassCastException: com.sun.proxy.$Proxy0 cannot be cast to Father.FatherInter at Father.Main.main(Main.java:13)
  • 1
  • 2

不知道写动态代理的时候 你们有没有被这个问题困扰过
反正我是有的 不过和网上的问题不一样

Google很多 答案都是 因为被代理的类没有继承接口 而是继承了一个基类

问:为什么动态代理必须针对接口?
**答:**JDK动态代理的原理是根据定义好的规则,用传入的接口创建一个新类,这就是为什么采用动态代理时为什么只能用接口引用指向代理,而不能用传入的类引用执行动态类。(摘自网络 自己没有看源码)

我的 问题 则是因为

Son s = (Son)Proxy.newProxyInstance(si.getClass().getClassLoader(), si.getClass().getInterfaces(), m);
  • 1

在我这里 Son是实现接口的实现类 这个时候就GG了

正解是

FatherInter s = (FatherInter)Proxy.newProxyInstance(si.getClass().getClassLoader(), si.getClass().getInterfaces(), m);
  • 1

在我这里 FatherInter是那个被实现的接口

两者唯一区别就是 Proxy.newProxyInstance返回的是接口类型 而我 却用实现类来接受 就出现了类型不匹配的问题

来看一下 官方API如何来解释这个方法返回值
这里写图片描述

返回指定接口的实体类
具体为什么不能用实现类来接收 而是要用 接口 我还不是很明白
以上都是个人见解 欢迎讨论

动态代理怎么实现 可以看一下这篇博客 在最后那一块知识

转载于:https://www.cnblogs.com/libin6505/p/10705749.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/483694.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

牛客16596 计算系数(排列组合)

链接:https://ac.nowcoder.com/acm/problem/16596 来源:牛客网 时间限制:C/C 1秒,其他语言2秒 空间限制:C/C 131072K,其他语言262144K 64bit IO Format: %lld 题目描述 给定一个多项式(axby)k&#xff0…

MIT新研究:过去80年,算法效率提升到底有多快?

来源:MIT,新智元编辑:David【导读】随着摩尔定律走向终结,靠提升计算机硬件性能可能越发难以满足海量计算的需要,未来的解决之道在于提升算法的效率。MIT的这篇新论文总结了过去80年来,算法效率的提升究竟有…

AI 被当做炒作工具?

来源:AI科技大本营(ID:rgznai100)翻译:AI科技大本营编译:禾木木上班路上由于高峰期,眼看就要迟到了,这个时候会想“如果汽车能自动完成这种高度重复的动作,我就可以在路上参加我的会…

第五周助教心得体会

本周心得: 本周为我参加助教工作的第五周。本周同学们要搞定的内容: 作业链接 fork词频统计仓库,创建修改分支对代码进行效能分析,改进后提交将过程写入博客并发布(提交42人 未提交31人 作业平均成绩:6.7分&#xff0c…

牛客16732 序列(排列组合)

同个人网站 https://www.serendipper-x.cn/,欢迎访问 ! 链接:https://ac.nowcoder.com/acm/problem/16732 来源:牛客网 时间限制:C/C 1秒,其他语言2秒 空间限制:C/C 262144K,其他语…

什么是传感器融合?我们从“盲人摸象”讲起……

来源:传感器专家网今天,我们的生活高度依赖传感器。传感器作为人类“五感”的延伸,去感知这个世界,甚至可以观察到我们人体感知不到的细节,这种能力也是未来智能化社会所必须的。不过,单个传感器的性能再卓…

算法竞赛入门经典 例题6-2 铁轨(C、python)

同个人网站 https://www.serendipper-x.cn/,欢迎访问 ! 问题描述: 某城市有一个火车站,铁轨铺设如图所示。有n节车厢从A方向驶入车站,按进站顺序编号为 1~n 。你的任务是判断是否能让它们按照某种特定的顺序进入 B 方…

redis集群的搭建详细教程

1 Redis-cluster架构图 redis-cluster投票:容错 (至少要三个才可以,才能超过半数) 架构细节: (1)所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽. (2)节点的fail是通过集群中超过半数的节点检测失效时才生效…

王飞跃 | 面向未来的AI人才应该具备这3种思维

来源:湛庐阅读作者:王飞跃 苇草智酷学术委员、中科院自动化研究所复杂系统与智能科学重点实验室主任、中国科学院社会计算与平行系统研究中心主任当今最好的人工智能程序到底有多智能?它们是如何工作的?能做些什么?我…

Java安全API

java提供了完整的密码学API,我们可以结合密码学相关的概念来系统的学习这些API。 1.密码学简介(crypto) 密码学通俗来说就是研究如何对信息进行加密和破密,如果不是专门研究信息安全,通常我们只需学习和使用加密的方法,所以破密的相关知识我们…

算法竞赛入门经典 例题6-6 小球下落(python、C)

同个人网站 https://www.serendipper-x.cn/,欢迎访问 ! 问题描述: 有一颗二叉树,最大深度为D,且所有叶子的深度都相同。所有结点从上到下从左到右编号为 1,2,3,… ,2D -…

NLPer,是时候重视因果推理了!这有一份杨笛一等撰写的综述

来源:机器之心编辑:张倩在这篇综述论文中,来自佐治亚理工学院的杨笛一等十几位研究者系统阐述了自然语言处理中的因果推理。科学研究的一个基本目标是了解因果关系。然而,尽管因果在生活和社会科学中扮演了重要角色,它…

【报告】2021物联网行业研究报告(附PDF下载)

来源:兴业证券编辑:Zero导语物联网通过智能感知、识别技术与普适计算等通信感知技术,广泛应用于网络的融合中,也因此被称为继计算机、互联网 之后世界信息产业发展的第三次浪潮。1、云管端的硬件升级云、管、端革新带动物联网爆发…

pyecharts 绘制地图

同个人网站 https://www.serendipper-x.cn/,欢迎访问 ! # 导入相关包 from pyecharts import options as opts from pyecharts.charts import Map, Geo, Lindata pd.read_csv(rC:\Users\1979\Desktop\处理后的数据\谷物产量(公吨&#xff0…

斯坦福大学报告称中国AI论文引用率首超美国!但李国杰院士也发文灵魂拷问...

来源:zhihu中国霸榜AI期刊论文发表,论文引用量「首超」美国!然而,中国工程院院士李国杰却戳着国内AI研究的脊梁骨说「顶不了天、落不了地」。近日,如何看待「李国杰院士发文称国内 AI 研究顶不了天、落不了地」这一话题…

刚刚,2021年诺贝尔生理学或医学奖揭晓!

来源:科学网作者:梅进 冯丽妃北京时间10月4日下午5点34分许,2021年诺贝尔生理学或医学奖揭晓。美国科学家David Julius、Ardem Patapoutian获奖,以表彰他们“发现温度和触觉的受体”。2021年的诺贝尔奖单项奖金为1000万瑞典克朗&a…

2021年诺贝尔物理学奖揭晓,复杂科学获得重视

来源:材料科讯部分内容整理:维基百科,诺贝尔奖官网及其推特账号刚刚,诺贝尔奖委员会宣布了2020年诺贝尔物理学奖得主名单,针对本年度诺贝尔物理学奖的预测,可参考以下链接:诺奖120周年了&#x…

【操作系统复习】操作系统的概念、功能和目标

同个人网站 https://www.serendipper-x.cn/,欢迎访问 ! 文章目录一、概念二、操作系统的功能和目标2.1 作为系统资源的管理者2.2 作为用户和计算机硬件之间的接口2.3 作为最接近硬件的层次一、概念 ✔️ 操作系统(Operating System&#xff0…

word 2013 标题设置多级列表

1、问题 要设置标题为多级列表,批量应用 2、解决 1选标题1 2选标题2 。。。以此类推。点确定保存即可 转载于:https://www.cnblogs.com/wdw31210/p/10723696.html

向量将死,哈希是 AI 未来

来源:AI科技评论作者:Hamish Ogilvy编译:冉启行校对:青暮人工智能是建立在向量算法的基础上的,但最新的进展表明,对于某些 AI 应用程序而言,它们可以使用其他二进制来表示(例如神经哈…