Java的向下转型和向上转型专题
2015-10-28 23:45
218 查看
Java的向下转型和向上转型
例如有2个类,Father是父类,Son类继承自Father
1) 向上转型
子类-->父类(此处父类对象可以是接口)
Father f1 = new Son();//现在f1引用指向一个son对象
需要注意:向上转型时 f1只能调用与父类对象共有的方法
2) 向下转型
子类-->父类-->子类
Father f2 = new Son();//第一步:子类-->父类
Son S1 = (Son)f1;//第二步:父类-->子类
例子:
Father f3 = new Father();
Son S2 = (Son)f3;//会出错,子类引用不能指向父类对象
3) 总结:1.父类引用能指向子类对象,但子类引用不能指向父类对象;
2.把子类对象直接赋给父类引用叫upcasting向上转型,向上转型属于 安全转换,不需要强制类型转换;
3.把指向子类对象的父类引用赋值给子类引用叫做downcasting,需要强制类型转换;
例如有2个类,Father是父类,Son类继承自Father
1) 向上转型
子类-->父类(此处父类对象可以是接口)
Father f1 = new Son();//现在f1引用指向一个son对象
需要注意:向上转型时 f1只能调用与父类对象共有的方法
2) 向下转型
子类-->父类-->子类
Father f2 = new Son();//第一步:子类-->父类
Son S1 = (Son)f1;//第二步:父类-->子类
例子:
Father f3 = new Father();
Son S2 = (Son)f3;//会出错,子类引用不能指向父类对象
3) 总结:1.父类引用能指向子类对象,但子类引用不能指向父类对象;
2.把子类对象直接赋给父类引用叫upcasting向上转型,向上转型属于 安全转换,不需要强制类型转换;
3.把指向子类对象的父类引用赋值给子类引用叫做downcasting,需要强制类型转换;
相关文章推荐
- Java NIO (一)
- Java中比较容易混淆的知识点
- Java 开源工具包
- JProfiler入门使用教程:Eclipse集成
- 多线程结果集合并demo【实例demo练习】
- Spring 的IOC和AOP
- java通过JDBC链接SQLServer2012
- java 引用类型
- Eclipse Xml编译错误Referenced file contains errors - spring-beans-4.0.xsd
- 关于Eclipse中 Android sdk 不能更新解决方案
- Eclipse 常用快捷键 (动画讲解)
- java基础--初始化
- springMvc4+hibernate4+activiti5.15(Maven)
- spring boot 使用h2数据库配置(内存模式)
- 怎样在spring初始化完成后执行一些操作?
- List集合拆分
- java springmvc 微信公众平台自动回复乱码问题
- java 通过userAgent获取访问者的操作系统与浏览器
- Java中增强型for循环的样例和解释
- JAVA双列集合HashMap