有点子不太清楚

来源:9-7 Java 中的 super 的使用

程序小猴子

2015-02-04 19:22

感觉懂,有感觉没听懂,额

写回答 关注

2回答

  • qttloading
    2015-02-04 23:23:46
    已采纳

    你应该是学习的是java中的继承知识。在java中,如果两个类之间有父子类关系,那么,创建子类对象之前,必须先创建父类对象,创建对象肯定会涉及到调用构造函数,如果父类里面有多个构造函数,那么在创建父类对象的时候该调用哪个构造函数呢?这时候,在子类的构造函数中,必须声明创建父类对象的时候调用的构造函数,怎么声明呢?就是通过子类构造函数中的super关键字来声明。如果子类中没有任何super关键字,编译器在编译的时候,默认会在子类的构造函数的第一行添加一个"super()",声明创建父类对象的时候,调用父类的无参构造。如果子类的构造中声明了super(),则默认的失效,创建父类对象的的时候调用显示声明的父类构造函数。over!!

    程序小猴子

    恩恩!谢谢你哦!这下明白了

    2015-02-05 11:25:56

    共 2 条回复 >

  • 诗雨若枫
    2015-02-04 20:23:10

    用new语句创建一个类的对象的同时会调用该类的构造方法,创建子类的对象时会先调用父类的构造函数然后调用子类的构造函数,调用父类构造函数过程是默认调用的,如果你想显式的调用,就需要在子类的构造函数中用super()语句来调用,并且super语句必须在构造函数的第一条语句.这是super语句的语法,不需要问为什么。

    程序小猴子

    你们俩个的解答结合起来我的疑问就全都解决了,谢谢你啦!

    2015-02-05 11:26:39

    共 1 条回复 >

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530560 学习 · 6091 问题

查看课程

相似问题