课程
/后端开发
/Java
/Java入门第二季 升级版
执行obj2.eat()的时候,为什么不是打印Animal.eat()+Dog.eat()?继承里不是讲子类调用父类的时候是先走父类的,再走子类的?
2017-07-12
源自:Java入门第二季 升级版 10-1
正在回答
创建子类对象时,调用方法为子类重写的方法
Dog类是Animal的子类,Animal类有自身的构造方法,如果Dog类中没有写任何构造方法,那么它默认继承父类Animal的构造方法,但是,在Dog类中,对构造方法进行了重写,这就意味着,Dog类中的构造方法已经是对继承而来的构造方法实行了覆盖,所以在执行obj2.eat()的时候,调用的是Dog类中的构造方法;
构造方法才是先走父类再走子类,别搞混了
举报
课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙
2 回答为什么WatchDoor是obj2
4 回答求解这段代码打印结果
5 回答运行结果为什么全是0.0?
2 回答这个里面没有调用方法,只实例化了,结果为什么直接打印了呀。
5 回答为什么没有结果?