A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张金铎 中级黑马   /  2013-4-18 17:06  /  2495 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天研究张老师视频忽然产生一个小小的疑惑,就是当我用eclipse自动生成构造函数时代码如下
  1. <blockquote>class Sample {
复制代码
其中,它写了一个super();这是我意料之外的,我不明白它为什么这么写。虽然去了这句也没错误,但是我希望能有大神给解解惑,先谢啦。

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

4 个回复

倒序浏览
这个的话是系统自带的。
super()  继承父类的空参数构造函数嘛。去了也没关系的。
也就是代表你不使用父类的空参数构造函数嘛。

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

回复 使用道具 举报
不管你写不写,super就在那里,如果你删了,也没问题,系统会自动给你加上,但是如果你写了。
系统就不会给你加,而且系统只会给你加不带参数的构造函数,也就是super(),如果你调用父类的带参数的构造函数,就必需自己加。比如super(a,b,c),

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

回复 使用道具 举报
我认为Eclipse的意思,是让人主动的去考虑父类中的构造函数,

如果父类中有空参数的构造函数,那么子类构造中写不写super()都可以,默认也是有的

如果父类中没有空参数的构造函数,子类必须主动调用父类中的某个构造,必须写super,

所以Eclipse还是提示作用,就是让你看看父类中有没有空参构造

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

回复 使用道具 举报

如果问题未解决,请继续追问,如果问题解决了,请将问题分类改为“已解决”,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马