造型转换的问题???

applezh 2003-08-26 10:41:27
Employee[] staff = new Employee[3];
Manager boss = new Manager(...);
staff[0] = boss;
staff[1] = new Employee(...)
...

Manager aaa = (Manager)staff[0];

Manager aaa = (Manager)staff[1];

请问上面第一句 staff[0]本来就指向Manager对象 可不可以不要(Manager)???
第二句 为什么是错的???难道父类不能向子类转换吗???
...全文
21 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
raymondcen 2003-08-26
  • 打赏
  • 举报
回复
manager是子类吧!
只能向上塑造 不能把父类够造成子类的
raymondcen 2003-08-26
  • 打赏
  • 举报
回复
因为staff的构造型是Employee
将他指向Manager类的时候,他只从Manager类中获取Employee中声明的属性和方法
其他的获取不到
因此staff[0]是访问不到Manager类的方法的
applezh 2003-08-26
  • 打赏
  • 举报
回复
那用staff[0]为什么不可以访问子类的方法(它明明是指向子类的呀)???
马行空牛耕田 2003-08-26
  • 打赏
  • 举报
回复
继承的特征在于 : 任何使用父类的地方,可以用子类来代替; 而不是相反,所以也只能向上造型,而不是向下

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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