引用类型的类型转换
自动转换
父类型 变量名 = 子类对象
强制转换:
子类型 变量名 = (子类型)父类变量
强制转换时需要父类变量中存的就是子类型
否则会报错
ClassCastExceptionn 类型转换异常
public class Test16 {
public static void main(String[] args) {
F f = new S1(); //自动转换
S1 s1 = (S1)f; //强制转换
F f1 = new S1();
S2 s2 = (S2)f1; //报错,因为f1中存的是s1类型的变量,所以强转成s2会类型转换异常
}
}
class F{
}
class S1 extends F{
}
class S2 extends F{
}