一个关于 类 类型 强转的问题,急啊~~~

jspenguin 2008-01-19 04:27:25
问题是这样的 C是B的子类, B是A的子类;
我是这样申明的 temp是一个数组;
A temp[] = new c();
然后temp进入一个返回类型为A(在测试类t中)的方法aaa过滤后,返回出我想要的数组中的一个值;
此时我用返回值调用 C中的一个方法ccc(通过接口传入的)
我该如果写?
我是这样写的:

t ttt=new t();
(c)(ttt.aaa()).ccc();
最后一句报错了, 我就是想把ttt.aaa()返回A类型的值强转成C类型,然后访问C类中的方法ccc.
请高手指点下我!!!
...全文
111 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
love1907 2008-01-20
  • 打赏
  • 举报
回复
嗯,确实是
KK3K2005 2008-01-20
  • 打赏
  • 举报
回复
ttt.aaa()为什么不能直接返回 c类型
lanicetomas 2008-01-20
  • 打赏
  • 举报
回复
代码要整洁可读。
老紫竹 2008-01-19
  • 打赏
  • 举报
回复
楼上正解,先转换,后调用
believefym 2008-01-19
  • 打赏
  • 举报
回复

((C)(ttt.aaa())).ccc();//多加个括号,还有,代码可读性也太差了,
//A temp[] = new c(); 这个没给你报错?
oracs 2008-01-19
  • 打赏
  • 举报
回复
if (ttt.aaa() instanceof c)
(c)(ttt.aaa()).ccc();

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧