首页 > 应用开发 > Java > Java向上转型和向下转型
简单的说向.上转型就是:将-一个子类类型的对象赋值给- -个父类类型的变量,
基本的实现语法:
父类类型变量=new 子 类类型();





发现了可以使用父类类型的变量调用子类覆写了父类的方法,但是为什么不调用Worker的say()方法呢?原因是具体调用哪一个子类覆写的方法是在运行期间根据具体你赋值的子类来确定的。
思考:在之前我们说过,子类出了可以继承父类的成员方法和变量还可以扩充属于自己的新的操作,那么可以使用父类类型的变量调用子类新扩充的方法吗?
DEMO:调用子类新扩充的方法


发现了不能使用父类类型的变量调用子类新扩充的方法,如果要实现调用可以使用向下转型。将一个父类类型的变量强制转换为子类类型。具体的实现语法:
java学习交流群697888503有什么问题都可以里面问,包含了初学者电子书,学习路线,视频,学习笔记等


但是向下转型会存在风险,存在类型转换异常的风险。
简单的说向上转型就是:将一个父类类型的变量强制转换为子类类型。具体的实现语法:

DEMO:向下转型

发现了实现向下转型必须先向,上转型,但是向下转型作用不大,只是作为知识点提出,向下转型还存在类型转换异常的风险。
向下转型用得不多,你知道这个概念就行,但是你要记住这个异常(ClassCastException)。其实也可以在代码中防止这样的异常。
DEMO:防止异常的出现


虽然可以使用instanceof关键字防止类型转换异常的出现,但是没事干别向下转型。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69985551/viewspace-2746805/ ,如需转载,请注明出处,否则将追究法律责任。