JDK动态代理出现com.sun.proxy.$Proxy0 cannot be cast to错误

​个人主页:热爱生活的李
​❤️感谢大家阅读本文,同时欢迎访问本人主页查看更多文章​❤️
技术太菜了希望下次不要出现了
本人也在学习阶段,如若发现问题,请告知,非常感谢

com.sun.proxy.$Proxy0 cannot be cast to

    • 问题描述
    • 环境
    • 现象
    • 解决方法
    • 原因

问题描述

使用JDK动态代理时候出现了com.sun.proxy.$Proxy0 cannot be cast to 错误

环境

JDK1.8

现象

在这里插入图片描述
在这里插入图片描述
JDK动态代理出现com.sun.proxy.$Proxy0 cannot be cast to错误_第1张图片
JDK动态代理出现com.sun.proxy.$Proxy0 cannot be cast to错误_第2张图片
JDK动态代理出现com.sun.proxy.$Proxy0 cannot be cast to错误_第3张图片

解决方法

将动态代理生成的对象的返回值改为Person接口

JDK动态代理出现com.sun.proxy.$Proxy0 cannot be cast to错误_第4张图片

原因

在这里插入图片描述

这个方法生成的代理类不是Student类的而是继承自proxy类实现了Person接口,所有不能强转为Student

JDK动态代理出现com.sun.proxy.$Proxy0 cannot be cast to错误_第5张图片

你可能感兴趣的:(Java知识学习,学习过程中遇到的问题,java,开发语言)