关于接口和类的问题

z1406472408 2014-11-02 03:03:56
类A同时实现了接口B,接口C,接口D.那么为什么类A可以强制转化为接口B?然后还可以使用接口B中的方法?为什么可以这样强制转换?转换后接口C,接口D去哪了?请前辈解答,谢谢
...全文
164 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
S117 2014-11-07
  • 打赏
  • 举报
回复
这不应该叫强转吧,这应该是向上转型,强转貌似叫向下转型,向上转型,接口会变窄,也就是说只能使用父类中声明的方法,所以你向上转型到那一个父类,就只能使用那一个父类中声明的方法
qq_17854391 2014-11-07
  • 打赏
  • 举报
回复
接口可以看成一个特殊的父类 你继承了接口B C D 当然就像继承父类一样 可以使用其中的方法了 至于你说强制转换以后 接口c和d 去哪了 ???接口不会消失,而是你没有调用 接口和父类又不同,接口时为了实现多继承来设计的,可以同时使用里面的方法等等 可以理解成可以继承多个类(但是这说法是不对的)     
日知己所无 2014-11-02
  • 打赏
  • 举报
回复
你想多了,强制转换不是先干掉,再使用;而是让编译器像处理XX那样处理YY

50,545

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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