黑马程序员技术交流社区
标题:
关于继承的问题!
[打印本页]
作者:
15917846944
时间:
2015-7-26 12:47
标题:
关于继承的问题!
class Animal {
public void eat(){}
}
class Dog extends Animal {
public void eat() {}
public void lookDoor() {
}
}
class Cat extends Animal {
public void eat() {
}
public void playGame() {
}
}
class DuoTaiDemo5 {
public static void main(String[] args) {
//内存中的是狗
Animal a = new Dog();
Dog d = (Dog)a;
//内存中是猫
a = new Cat();
Cat c = (Cat)a;
//内存中是猫
Dog dd = (Dog)a; //ClassCastException
}
}
调用类的调用,看不懂,感觉很抽象!请大神指教!
作者:
徐会会
时间:
2015-7-26 13:25
路过,,,,
作者:
悲伤丿心
时间:
2015-7-26 14:13
换个比喻:人是基类,中国人是子类,外国人也是子类。
你把中国人指向人,当然表明上看,他只是个人,实质上他还是中国人,所以你强转为中国人,当然是没问题的,因为他本来就是中国人。
如果你这时把指向中国人的这个人 强转为外国人,你觉得有问题吗?肯定有问题啊,中国人 不可能是外国人,所以会提示类型转换错误。就这么简单
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2