java抽象类的问题 关于继承

我定义了一个pet抽象类 然后我的dog类继承了pet 复写了pet里面的所有抽象方法 然后我
有定义了一个cat类 让它继承dog 为什么不用复写pet的抽象方法呢 毕竟我的dog继承了pet啊

9个回答

pet是爷爷,定了个目标,以后生儿子一定让他学习武术(抽象方法),
dog是爸爸,爷爷的儿子,因为爷爷,学习了武术(抽象方法的实现)。
cat是儿子,爷爷的孙子,爸爸的儿子,他不仅学会了爷爷的本领,还学会了爸爸的武术,贼牛逼!

qq_34309305
75闪光雷 哈哈,幽默点容易理解,谢谢采纳!!
接近 3 年之前 回复
androidwubo
Orion-武博 推荐看看接口、抽象类区别
接近 3 年之前 回复
Bsxwx_
Bsxwx_ 你好幽默
接近 3 年之前 回复

因为你继承的dog的所有方法,这些方法已经重写了pet中的抽象方法

。。。。。cat继承dog真的合适么

因为你继承了dog,就已经继承了dog里已经实现的pet的抽象方法了

因为DOG已经对抽象方法实现了,CAT可以直接引用,也可以手动重写

DOG中要有抽象方法,CAT才有必要重写,毕竟CAT继承的是DOG,不是PET。

Bsxwx_
Bsxwx_ 我刚开始以为 cat继承了dog 相当于cat 继承了pet 所有纳闷为什么不用复写
接近 3 年之前 回复

dog实现了pet,就是dog拥有pet所有的东西,cat实现dog,就是cat拥有所有dog的东西,包括pet所有的

你可以复写啊,随便改

推荐看看接口、抽象类区别

cat的直接父类是dog,它应该是继承dog里的所有方法,dog对pet的继承也包括在dog的方法里,就像你调用函数A,A调用B,但实际上你只是调用了A,
而A调用了B.........就如同树一样,你认为要再写pet中的抽象方法是因为你把dog与pet当做同一层上的类,但实际上cat并没有直接调用(继承)pet,
pet只是被dog调用(继承),属于更低的层次。。。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问