既然要在子类里重写方法,为什么不直接在子类里写方法,还要在父类里写一个然后在子类里再重写一次?
你的意思是想声明一个类,写个方法,直接调用。那这样还要继承干嘛用呢
我问你:什么是继承?为什么要有继承?(继承就是当你写一个类时,虽然这个类满足了某些功能但是你又想拓展它的功能,此时你就可以使用继承机制在写一个该类的子类,来完成你想实现的功能)
还有,即使你没有明确指出要继承的类,也总是隐式地从根类Object进行继承。
呃。。。不知道你明白了没
满足方法的重写的前提是继承——子类重写会覆盖父类的方法并优先调用子类的方法。
前边课程里有讲过。Animals为父类,定义了一个方法friends-“动物是人类的好伙伴”。Dog继承了Animals的方法,但相比其他动物,我们让它突出“狗是人类最忠实的伙伴”。这时候就用到了方法的重写。有点像共性和个性的辩证关系。
小提示:在方法的多态中(两个类有继承关系才可以使用多态),如果你直接在子类里写方法,就不能通过父类的引用调用子类的独有方法。
父类的方法是用来约束子类方法的,给子类方法一个模板