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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 徐文豪 中级黑马   /  2015-5-20 23:28  /  716 人查看  /  19 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Animal animal = new Dog();
          Cat cat = (Cat)animal;




[url=] java.lang.ClassCastException : [/url]类型转换异常




这个是怎么回事?什么意思啊?求解!

评分

参与人数 2技术分 +1 黑马币 +20 收起 理由
马玉玲 + 20
lwj123 + 1

查看全部评分

19 个回复

倒序浏览
Animal animal = new Dog(); 这是说一个Dog类 的地址赋给了animal,意味着它是狗,狗不能强制为猫 除非,Animal animal=new Cat(); Cat cat=(Cat)animal;
回复 使用道具 举报
你把狗转成猫 你说行吗?
回复 使用道具 举报
不能把狗转成猫,,
回复 使用道具 举报
狗 不可以 变成猫  
回复 使用道具 举报
你把狗转成猫~~这能行吗?本来就不是一类
Animal a = new Dog();
a = new Cat();
Cat c = (Cat)a;
回复 使用道具 举报
沙发与地板正解
回复 使用道具 举报
哦   知道了 那要怎么做呢?原理是什么?
回复 使用道具 举报
顶顶顶:victory:
回复 使用道具 举报
膜拜大声!都太厉害了!
回复 使用道具 举报
多态的前提是继承关系,animal 指向子类对象即指向狗的对象的引用,第二句你把引用转换成猫的引用,指向狗。这是系统会进行匹配。发现不能匹配就报错了。这样能理解吧
回复 使用道具 举报
学习了!!!
回复 使用道具 举报
父类对象引用子类的方法
回复 使用道具 举报
简单理解 狗可以是动物,但是动物不能是狗。
回复 使用道具 举报
Animal animal = new Dog();
回复 使用道具 举报
灯火通明 来自手机 中级黑马 2015-5-22 12:02:18
16#
父类引用指向子类对象

回复 使用道具 举报
嘎嘎鸭子 来自手机 中级黑马 2015-5-22 13:10:54
17#
狗不可以变成猫,但是猫是动物
回复 使用道具 举报
类型转换异常   狗不能转换成猫
回复 使用道具 举报
狗变猫,不可以的
回复 使用道具 举报
你养了一只狗,你可以叫它狗,也可以叫它动物,但是你非要说它是猫就不太好了吧?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马