Java 向上和向下转型
来源:互联网 发布:主机mac地址怎么查 编辑:程序博客网 时间:2024/05/29 03:27
转型是基于继承的。
向上转型
把子类转换成父类,不需要强制转换,则转型后不能访问子类特有的属性和方法,如果子类方法被重写,则根据动态绑定,父类调用子类同名方法时,重写生效,这里可以体现出多态。
向下转型
父类转换成子类,需要强制转换。
如果父类指向的就是子类,则转型安全;如果不是,会在运行时报错,java.lang.ClassCastException错误。可以使用instanceof来避免出错此类错误。
总结
- 父类引用可以指向子类对象,子类引用不能指向父类对象。
- 把子类对象直接赋给父类引用叫upcasting向上转型,向上转型不用强制转型。
如Father father = new Son(); - 把指向子类对象的父类引用赋给子类引用叫向下转型(downcasting),要强制转型。
如father就是一个指向子类对象的父类引用,把father赋给子类引用son 即Son son =(Son)father;
其中father前面的(Son)必须添加,进行强制转换。 - upcasting 会丢失子类特有的方法,但是子类overriding 父类的方法,子类方法有效
- 向上转型的作用,减少重复代码,父类为参数,调有时用子类作为参数,就是利用了向上转型。这样使代码变得简洁。体现了JAVA的抽象编程思想
0 0
- Java 向下和向上转型
- Java 向上和向下转型
- java向上和向下转型
- java 向上转型和向下转型
- java 向上转型和向下转型
- Java 向上转型和向下转型
- java向上转型和向下转型
- java中的向上转型和向下转型
- Java中的向上转型和向下转型
- java中的向上转型和向下转型
- java中的向下转型和向上转型
- Java 向上转型和向下转型
- java向上转型和向下转型
- Java的向上转型和向下转型
- java向上转型和向下转型
- Java 向上转型和向下转型
- Java向上转型和向下转型
- java向上转型和向下转型
- 值得学习的C语言开源项目
- blufr 算法的理解---理解的不对的,欢迎拍砖
- Spring AOP 实现过程的总结
- C# Random随机数、TimeZone、OperatingSystem信息、StringBuilder这个好用
- JS文件中获取路径
- Java 向上和向下转型
- 关于发布App时遇到的坑(二)
- 湘潭大学1185 Bob's Problem
- CodeForces 635B Island Puzzle
- 面试整理之DOM事件阶段
- 异常:org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor
- Ubuntu安装adb和fastboot
- 一个文件工具类
- http://www.cnblogs.com/JimLy-BUG/p/5274587.html?ref=myread