更新时间:2024-04-21 15:01:11 来源:动力节点 浏览670次
在 Java 中,向上转型和向下转型都是对象类型的转换方式。
向上转型是将一个子类对象转换为它的父类类型,可以理解为子类对象变为父类对象,也可以称为自动类型转换。这种转型是安全的,因为子类对象具有父类对象的所有属性和方法,所以可以直接赋值给父类类型的变量。语法如下:
父类类型 变量名 = new 子类类型();
Animal animal = new Dog();
这里将一个 Dog 对象转换为它的父类 Animal 类型,可以通过 Animal 对象来调用 Dog 类的方法。
向下转型是将一个父类对象转换为它的子类类型,需要使用强制类型转换符进行转换,也称为强制类型转换。这种转型是有风险的,因为父类对象可能并不是一个子类对象,如果进行强制类型转换会抛出 ClassCastException 异常。语法如下:
子类类型 变量名 = (子类类型) 父类类型变量名;
Animal animal = new Dog();
Dog dog = (Dog) animal;
这里将一个 Animal 对象转换为它的子类 Dog 类型,如果在运行时发现 animal 实际上不是一个 Dog 对象,就会抛出 ClassCastException 异常。
需要注意的是,向上转型是隐式的,不需要使用强制类型转换符;而向下转型是显式的,需要使用强制类型转换符,并且需要保证转换的安全性。
相关阅读
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习