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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© aohn1117   /  2016-2-29 22:34  /  7487 人查看  /  24 人回复  /   2 人收藏 转载请遵从CC协议 禁止商业使用本文

我觉着吧,D和C没啥直接关系,,由于D是接口没有对象,所以D类型应该是实现类A的类型,吧C类型的C强转为C的子类的子类的A类型应该是向下转型,
转型就是归属的类变了呗,比如用创建父类对象接收一个子类对象就是向上转型,子类接收父类就是向下转型,但是由于子类内容比父类多,要是这个父类不是之前转型下去的,就不能填满子类,应该会报错
至于区别,上面是一般数据类型,下面是引用,上面的强转看的是取值范围,下面的强转看的是属性的多少
我是这样理解的
回复 使用道具 举报
D和C没有关系,(D)和C不具备向上和向下转型的条件
回复 使用道具 举报
* 向上转型    说明C这个类也继承了接口D
* 转型是多态的一个特点,就是指存在子父类关系了的两个类 ,数据类型可以相互转换
* 1是基本类型数据的强制类型转换
* 2是引用类型数据的转型,是由多态实现的
回复 使用道具 举报
向上转型
回复 使用道具 举报
D(接口)和C(类)只能是实现关系,而且是类实现接口.
(D)c是向下转型,   转型可以看成不同的标准转化成同一个标准.    转型实现:一是强制转型(向下转型),一是提升转型(小标准自动适应大标准.
1是数据类型,存储空间大小标准不一样,2是子父类继承关系,权限不一样,但是可以相同理解!

希望可以帮到你!
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马