父类与子类重写

来源:11-2 代码实现

GODOG

2016-09-20 14:57

既然要在子类里重写方法,为什么不直接在子类里写方法,还要在父类里写一个然后在子类里再重写一次?

写回答 关注

3回答

  • 心有猛虎_细嗅蔷薇
    2016-09-20 18:52:04
    已采纳

    你的意思是想声明一个类,写个方法,直接调用。那这样还要继承干嘛用呢

    我问你:什么是继承?为什么要有继承?(继承就是当你写一个类时,虽然这个类满足了某些功能但是你又想拓展它的功能,此时你就可以使用继承机制在写一个该类的子类,来完成你想实现的功能)

    还有,即使你没有明确指出要继承的类,也总是隐式地从根类Object进行继承。

    呃。。。不知道你明白了没

    心有猛虎_细... 回复GODOG

    客气嘞 赠人玫瑰,手有余香。加油↖(^ω^)↗

    2016-09-20 19:09:31

    共 2 条回复 >

  • 心有猛虎_细嗅蔷薇
    2016-09-20 16:28:12

    满足方法的重写的前提是继承——子类重写会覆盖父类的方法并优先调用子类的方法。

    前边课程里有讲过。Animals为父类,定义了一个方法friends-“动物是人类的好伙伴”。Dog继承了Animals的方法,但相比其他动物,我们让它突出“狗是人类最忠实的伙伴”。这时候就用到了方法的重写。有点像共性和个性的辩证关系。

    小提示:在方法的多态中(两个类有继承关系才可以使用多态),如果你直接在子类里写方法,就不能通过父类的引用调用子类的独有方法。

    GODOG

    既然子类要重写一次方法,为什么不直接设置一个类来写这个方法而是还要写一个父类再写多一个子类呢????

    2016-09-20 18:41:20

    共 1 条回复 >

  • CaptainJackSparr
    2016-09-20 15:52:41

    父类的方法是用来约束子类方法的,给子类方法一个模板

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530649 学习 · 6091 问题

查看课程

相似问题