黑马程序员技术交流社区
标题:
在多态中,为什么不能把父类强制转换为子类,编译会报错???
[打印本页]
作者:
n_Nie1991
时间:
2016-1-3 00:06
标题:
在多态中,为什么不能把父类强制转换为子类,编译会报错???
class Demo {
public static void main(String[] args) {
Animal a = new Animal();
Cat c = (Cat)a;
c.eat();
}
}
class Animal {
public void eat() {
System.out.println("动物吃饭");
}
}
class Cat extends Animal {
public void eat() {
System.out.println("猫吃鱼");
}
}
作者:
随缘的影子
时间:
2016-1-3 00:21
扶额,建议你再看看第九天的视频,里面有介绍如何向下强转和如何向上强转。
顺便一提。向下强转必须有父类引用指向子类对象的前提。你这个纯粹是差个父类引用指向子类对象
把Animal a = new Animal();改成
Animal a = new Cat();就好了
作者:
549208564
时间:
2016-1-3 21:17
父类比子类大,子类比父类小,大的可以装小的,小的能装大的吗,这样去理解就可以了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2