Jasong
2016-04-17 20:50
为什么重写toString方法后就不输出父类当中的无参构造内
有个硬伤的地方,楼主观察比较仔细哈,看下控制台的滚动条,上面是不是还有一点没显示?呐~就是那个父类的构造方法输出。好想做一个痛哭的表情。_(:зゝ∠)_
一定会调用,原因是这样的。
因为子类继承了父类,那么就默认的含有父类的公共成员方法和公共成员变量,这些方法和变量在子类里不再重复声明。如果你初始化子类的时候,不初始化父类,那么你通过子类调用父类方法或变量的时候会出现什么情况呢?当然就是抛异常阿!所以,Java虚拟机会在你初始化子类的时候默认的初始化子类的父类。而且是一层一层的往上递进!
在其他网站看到的
为什么我还会输出父类的构造方法吗...
重写父类继承的方法,当调用时会优先调用子类的方法,也就是说会优先执行子类中的toString
建议在学习下重写的概念。还可以看一下super关键字的用法。
Java入门第二季 升级版
530652 学习 · 6091 问题
相似问题