class A {
}
class B extends A {
}
A a = new A();
B b = new B();
A a1 = b;// 向上造型
B b1 = (B) a1; // 向下造型
B b2 = a; // ClassCastException,a的类型是A,实例化也是A
class A {
}
class B extends A {
}
A a = new A();
B b = new B();
A a1 = b;// 向上造型
B b1 = (B) a1; // 向下造型
B b2 = a; // ClassCastException,a的类型是A,实例化也是A
向上造型:
父类引用指向子类对象(子类型,实例也是子类的实例化);
向下造型:
子类引用指向父类对象(父类型,实例是子类的实例化);