超类的引用怎样付给子类?

qq_27428331 2016-08-30 11:56:01
在java核心中看到的,但是没理解怎样才能执行。如果用类型转换的话,比如Manager boss=(Manager) staff;其中Manager是子类,staff是超类对象,这样的话会产生ClassCastException异常。那应该怎样才能完成转换呢?
...全文
177 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
不明嚼栗
codingjav 2016-08-31
  • 打赏
  • 举报
回复
楼上说的恩嗯嗯
rendason 2016-08-31
  • 打赏
  • 举报
回复
当staff指向的对象是一个子类manager对象时候可以
Zip Zou 2016-08-31
  • 打赏
  • 举报
回复
这样的强制转换,必须要保证staff对象接受的引用,是Manager类的引用,而不能是与Manager具有相同基类的引用!这个是要注意的!否则会出现,类转换的异常
NeColor 2016-08-31
  • 打赏
  • 举报
回复
Manager extends Employee Employee staff=new Manager(); Manager boss=(Manager) staff; 这样转是不报错的; 如果Employee staff=new Employee(); Manager boss=(Manager) staff; 肯定报错,又不是基本类型
dzq584462393 2016-08-31
  • 打赏
  • 举报
回复
比如Manager boss=(Manager) staff;其中Manager是子类,staff是超类对象,这样的话会产生ClassCastException异常 如果staff的引用是Manager 父类不会报错吧?

62,621

社区成员

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

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