-
Java向上转型和向下转型
一、向上转型
简单的说向.上转型就是:将-一个子类类型的对象赋值给- -个父类类型的变量,
基本的实现语法:
父类类型变量=new 子 类类型();
DEMO:向上转型
发现了可以使用父类类型的变量调用子类覆写了父类的方法,但是为什么不调用Worker的say()方法呢?原因是具体调用哪一个子类覆写的方法是在运行期间根据具体你赋值的子类来确定的。
思考:在之前我们说过,子类出了可以继承父类的成员方法和变量还可以扩充属于自己的新的操作,那么可以使用父类类型的变量调用子类新扩充的方法吗?
DEMO:调用子类新扩充的方法
发现了不能使用父类类型的变量调用子类新扩充的方法,如果要实现调用可以使用向下转型。将一个父类类型的变量强制转换为子类类型。具体的实现语法:
但是向下转型会存在风险,存在类型转换异常的风险。
二:向下转型
简单的说向上转型就是:将一个父类类型的变量强制转换为子类类型。具体的实现语法:
DEMO:向下转型
发现了实现向下转型必须先向,上转型,但是向下转型作用不大,只是作为知识点提出,向下转型还存在类型转换异常的风险。
向下转型用得不多,你知道这个概念就行,但是你要记住这个异常(ClassCastException)。其实也可以在代码中防止这样的异常。
DEMO:防止异常的出现
虽然可以使用instanceof关键字防止类型转换异常的出现,但是没事干别向下转型。
有完整的Java初级,高级对应的学习路线和资料!专注于java开发。分享java基础、原理性知识、JavaWeb实战、spring全家桶、设计模式、分布式及面试资料、开源项目,助力开发者成长!
原文:https://www.cnblogs.com/hehe199316/p/14215502.html
最新更新
求1000阶乘的结果末尾有多少个0
详解MyBatis延迟加载是如何实现的
IDEA 控制台中文乱码4种解决方案
SpringBoot中版本兼容性处理的实现示例
Spring的IOC解决程序耦合的实现
详解Spring多数据源如何切换
Java报错:UnsupportedOperationException in Col
使用Spring Batch实现批处理任务的详细教程
java中怎么将多个音频文件拼接合成一个
SpringBoot整合ES多个精确值查询 terms功能实
数据库审计与智能监控:从日志分析到异
SQL Server 中的数据类型隐式转换问题
SQL Server中T-SQL 数据类型转换详解
sqlserver 数据类型转换小实验
SQL Server数据类型转换方法
SQL Server 2017无法连接到服务器的问题解决
SQLServer地址搜索性能优化
Sql Server查询性能优化之不可小觑的书签查
SQL Server数据库的高性能优化经验总结
SQL SERVER性能优化综述(很好的总结,不要错
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比