对象的向上转型:就是将子类对象向上转换成为父类类型。
对象的向下转型:就是将已经向上转换成为父类型的对象,重新还原成为子类型的对象。
向下转型的格式:
子类名称 引用名 = (子类名称) 父类对象; // 右边本来就是子类类型才对
注意:向下转型之前,必须保证本来的真实类型就是指定的子类才行。否则运行就会发生异常:ClassCastException。
instanceof关键字
判断一下能不能成功地转换成为指定的类型。
格式:
对象引用名 instanceof 类名称
含义:
判断一下前面的这个对象是不是后面这个类的一个实例,得到一个boolean值。
注意: instanceof 关键字左边的对象和右边的类名称不能是毫无继承关系的,否则编译报错。
public class Test01 {
public static void main(String[] args) {
A a = new A();
if(a instanceof B){
}
}
}
class A{
}
class B{
}
提示:Incompatible conditional operand types A and B
网友评论