A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 果粒橙Cc 中级黑马   /  2014-4-9 00:04  /  1368 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 果粒橙Cc 于 2014-5-30 06:33 编辑

多态里,什么时候向下转型
animal a=new cat();
cat c=(cat)a;

4 个回复

倒序浏览
向下转型可以调用父类没有定义,但子类实现的方法
举个例子:父类有a()方法,子类重写了a()方法,而且额外添加了一个b()方法,父类中没有b方法
那么要调用子类的b方法,必须将父类变量向下转型为子类才可以调用b方法
比如你的例子:动物和猫,我们可以说猫吃鱼,但我们不能说动物吃鱼。要想让动物吃鱼可以说通,我们必须说现有的动物中只有猫,那么就可以说的通了
大概就是这样了

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
发现这里边高手很多啊,惭愧惭愧!
回复 使用道具 举报
本帖最后由 491138002 于 2014-4-9 14:12 编辑

多态:每个类都有自己的成员,访问权限,不一定所有人都可以使用它,继承的话可以重载重写父类方法
向下转型:父类不一定能转成子类类型
向上转型:子类一定能转成父类类型
回复 使用道具 举报
果粒橙Cc 来自手机 中级黑马 2014-5-23 23:41:53
报纸
闲人 发表于 2014-4-9 01:13
向下转型可以调用父类没有定义,但子类实现的方法
举个例子:父类有a()方法,子类重写了a()方法,而且额外 ...

高手如云啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马