课程
/后端开发
/Java
/Java入门第二季 升级版
为什么重写toString方法后就不输出父类当中的无参构造内
2016-04-17
源自:Java入门第二季 升级版 9-8
正在回答
有个硬伤的地方,楼主观察比较仔细哈,看下控制台的滚动条,上面是不是还有一点没显示?呐~就是那个父类的构造方法输出。好想做一个痛哭的表情。_(:зゝ∠)_
慕粉1143028379
一定会调用,原因是这样的。因为子类继承了父类,那么就默认的含有父类的公共成员方法和公共成员变量,这些方法和变量在子类里不再重复声明。如果你初始化子类的时候,不初始化父类,那么你通过子类调用父类方法或变量的时候会出现什么情况呢?当然就是抛异常阿!所以,Java虚拟机会在你初始化子类的时候默认的初始化子类的父类。而且是一层一层的往上递进!在其他网站看到的
为什么我还会输出父类的构造方法吗...
重写父类继承的方法,当调用时会优先调用子类的方法,也就是说会优先执行子类中的toString
建议在学习下重写的概念。还可以看一下super关键字的用法。
举报
课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙
1 回答toString()方法重写的位置
1 回答tostring方法无法重写?
3 回答IDEAl里面的toString()重写在哪 ?
4 回答为什么要重写toString方法?
5 回答toString()方法重写的意义是什么?