社区
Java SE
帖子详情
关于父类和子类转换的问题
Passerby12138
2021-04-19 05:50:38
我现在有A1,A2,A3,A4四个类继承了A,然后我接参数会接收到A1~A4中任意一个类,所以我用A类接收了(此时参数是用请求的方式接收),然后我要对数据做处理,可能需要用到A1里面的属性,如果我直接用A点,是点不出来,就只能转换类型,强转又会报类造型异常,我现在能怎么做?
...全文
231
4
打赏
收藏
关于父类和子类转换的问题
我现在有A1,A2,A3,A4四个类继承了A,然后我接参数会接收到A1~A4中任意一个类,所以我用A类接收了(此时参数是用请求的方式接收),然后我要对数据做处理,可能需要用到A1里面的属性,如果我直接用A点,是点不出来,就只能转换类型,强转又会报类造型异常,我现在能怎么做?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qybao
2021-04-20
打赏
举报
回复
强行转换前用instaneof判断一下是不是A1类型 比如 if (p instanceof A1) {//p是A类型参数 System.out.println(((A1)p).xxx); //转换为A1访问xxx }
Passerby12138
2021-04-20
打赏
举报
回复
按照你说的第二种方法,我接收的参数就得先是json字符串,然后再去转换类型,这样的话我在父类对象中是有一个属性是专门用来判断是哪个子类的,所以这样的话,我就没办法使用了,最终只能接收两个参数,一个json字符串,还有一个用来判断是哪个子类的字段,是这个意思吗?
baichangda234
2021-04-20
打赏
举报
回复
不确定类型的建议使用map接收、如果非要转换成对象、让请求端多传一个参数类型(例如1、2、3、4) ,目的是告诉你是属于哪一个子类的 然后你自己判断这个参数反转成对应子对象、不过这样子需要你手动将json字符串转换对象 只有这两个方法
baichangda234
2021-04-20
打赏
举报
回复
楼上说的instanceof是处理普通方法调用的类型识别 如果你是用请求方式接收、拿spring来说,如果你用对象接收了一个json字符串、那么spring 会使用json序列化工具将对象反转为对象A 此时这个对象就是A的实例、强转会失败、而且子类多出来的属性会丢失(这是取决于json序列化方式)
qt
父类
和
子类
转换
的安全性
问题
在 Qt 中,
父类
和
子类
转换
遵循 C++ 类型
转换
规则。向上转型,即
子类
转
父类
是安全的,可直接赋值;向下转型,即
父类
转
子类
可能不安全,直接
转换
或导致未定义行为。推荐使用 qobject_cast 进行向下转型,它能在运行时检查对象类型,避免潜在错误。
父类
和
子类
之间的
转换
问题
本文探讨了Java和C++中
子类
与
父类
对象之间的
转换
规则,详细解析了向上转型与向下转型的过程及注意事项。
java
父类
和
子类
_Java中
父类
与
子类
的
转换
问题
本文作者分享在自学安卓过程中遇到的Java理解难点,关于
父类
引用
子类
实例的转型
问题
。通过实例解析,讨论了为何`A a = b;`正确,而`(B) a = b;`编译运行时出错,揭示了Java类型
转换
的深层逻辑。
java
子类
和
父类
输出
问题
编程_java中
父类
与
子类
之间的
转换
问题
本文详细解析了Java中不同类型
转换
的应用场景及其背后的原因。包括
父类
到
子类
、
子类
到
父类
的
转换
过程,并通过具体示例说明了类型
转换
过程中可能出现的
问题
。
java
子类
和
父类
类型
转换
的
问题
本文探讨了Java中
子类
与
父类
之间的隐式
转换
和显式强制
转换
机制。具体介绍了如何将
子类
对象赋值给
父类
引用,以及如何从
父类
引用强制
转换
回
子类
对象。同时,强调了直接将
父类
对象强制
转换
为
子类
可能导致的ClassCastException错误。
Java SE
62,622
社区成员
307,255
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章