黑马程序员技术交流社区

标题: 构造函数问题 [打印本页]

作者: 灬王一鹏    时间: 2015-9-4 11:42
标题: 构造函数问题
为什么我建立了有参构造函数 会把系统默认的无参构造函数干掉啊?  不是重载么?为什么不能同时存在!!,求大神解答!么么哒~。~!
作者: lion_good    时间: 2015-9-4 12:10
这是规定..
作者: ZZBY    时间: 2015-9-4 13:52
不是干掉,是判断语句
···
if(java发现你写了构造函数)
    则不会生成默认空参数构造函数;
else
    生成空参数构造函数;
···
我是这么理解的

作者: wyd1    时间: 2015-9-4 14:00
请把代码拿出来
作者: zhangcheng0403    时间: 2015-9-4 17:16
在没写构造函数的时候,会默认添加,如果你写了,就相当于有构造函数不会添加了,这时候如果你需要无参构造函数就需要,重载一下了。
作者: 半醉半醒半浮生    时间: 2015-9-4 19:32
自定义有参构造函数了就一定要自己打一个无参构造
作者: 横溢天使    时间: 2015-9-4 19:39
空构造函数是系统默认存在的,在页面不显示。但当你手动写入有参数的构造函数时,自然就把空构造函数挤掉了
作者: mah707    时间: 2015-9-4 21:19
构造函数是干嘛用的,一个就够了呀,你把无参的干掉,就只有一个喽
作者: 夕阳游子    时间: 2015-9-4 21:20
系统默认存在
作者: 至尊幽蓝    时间: 2015-9-4 21:45
你要么一个构造函数也不写,它会添加默认无参构造函数,要么你一写构造函数,写什么就是什么,不会再自动添加。
作者: jumtop    时间: 2015-9-4 22:36
可以重载呀,只是你要自己写,只要你写了构造方法系统就不再给默认的了
作者: 我来了    时间: 2015-9-4 22:48
规定的东西记住就行了,不必纠结的
作者: 京巨    时间: 2015-9-4 23:14
创建有参构造参数后,必须把无参的构造参数的代码也写出来,才能实现重载。如不写,系统不会再默认分配。
作者: BG6FVG    时间: 2015-9-4 23:48
这就是Java规定没有为什么
作者: 灬王一鹏    时间: 2015-9-5 21:41
谢谢大家,我记下了,约定好的事  是吗
作者: hmhm123    时间: 2018-3-13 00:30
不写有参构造的时候,系统给你提供一个默认隐藏的无参构造(实际上是调用父类的无参构造);当你写了有参构造之后,会在有参构造中调用父类的无参构造;所以这时候你需要用无参构造的话,得自己补充写出来。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2