问答详情
源自:9-8 Java 中的 Object 类 Ⅰ

3-8的toString重写

为什么重写toString方法后就不输出父类当中的无参构造内

提问者:Jasong 2016-04-17 20:50

个回答

  • 我说红豆你说哟
    2016-08-24 17:29:18

    http://img.mukewang.com/57bd688500011ca511430220.jpg有个硬伤的地方,楼主观察比较仔细哈,看下控制台的滚动条,上面是不是还有一点没显示?呐~就是那个父类的构造方法输出。好想做一个痛哭的表情。_(:зゝ∠)_

  • 我说红豆你说哟
    2016-08-24 16:55:35

    一定会调用,原因是这样的。
    因为子类继承了父类,那么就默认的含有父类的公共成员方法和公共成员变量,这些方法和变量在子类里不再重复声明。如果你初始化子类的时候,不初始化父类,那么你通过子类调用父类方法或变量的时候会出现什么情况呢?当然就是抛异常阿!所以,Java虚拟机会在你初始化子类的时候默认的初始化子类的父类。而且是一层一层的往上递进!
    在其他网站看到的

  • 慕粉3194549
    2016-05-06 12:35:36

    为什么我还会输出父类的构造方法吗...

  • 1宠儿011
    2016-04-17 21:30:56

    重写父类继承的方法,当调用时会优先调用子类的方法,也就是说会优先执行子类中的toString

  • 慕粉3194764
    2016-04-17 21:16:06

    建议在学习下重写的概念。还可以看一下super关键字的用法。