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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

正确:

//一个动物类对象是狗,可以转换成狗类
Animal a = new Dog();
Dog d = (Dog)a;

//一个动物类对象是猫,可以转化成猫类
Animal a = new Cat();
Cat c = (Cat)a;



错误:

//一个狗类对象是动物,不可以
Dog dd = new Animal();
**编译时就报错                提示:不兼容的类型

//一个狗类对象是猫,不可以
Dog ddd = new Cat();
**编译时就报错                  提示:不兼容的类型

/*
一个动物类对象是猫
动物类对象向下转型成猫类
再想转型成狗类
*/
Animal a = new Cat();
Cat c = (Cat)a;                //a对象的堆内存空间是Cat类型数据
Dog dd = (Dog)a;        //a对象的堆内存就无法向下转型成Dog类型
**编译时不报错,运行时报错        提示:ClassCastException:类转换异常


3 个回复

倒序浏览
嗯,不错
回复 使用道具 举报
可以的,加油
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马