转型 cast
在使用多态时,父类引用只能使用父类中有的成员,子类独有的内容无法使用,但是可以通过向下转型来操作
-
向上转型
- 子类 --> 父类,自动转型,子类对象可以直接使用从父类继承过来的内容
-
向下转型
-
父类 --> 子类,父类引用指向子类对象,该对象想要使用子类中新增内容时,需要向下转型
-
向下转型是强制类型转换,使用方式:
小范围类型 变量 = (小范围类型)大范围类型的变量 // 父类->大范围 子类->小范围
-
-
向下转型是有风险的,可能会遇到的异常:ClassCastException(类型转换异常)
-
为了避免异常的出现,需要使用 instanceof 关键字
引用 instanceof 类型 // 判断前面的引用是否是后面类型的对象|子类对象,是返回true,不是返回false
-