黑马程序员技术交流社区
标题:
如果定义了有参数的构造函数,必须非得定义无参的构造函数吗?
[打印本页]
作者:
641551734
时间:
2016-4-7 22:19
标题:
如果定义了有参数的构造函数,必须非得定义无参的构造函数吗?
如果定义了有参数的构造函数,必须非得定义无参的构造函数吗?
作者:
251855915
时间:
2016-4-7 22:46
只是在类中定义这么一个函数的话编译运行不会报错,但是如果在main函数中new一个对象的话,就会报错
如
Student s = new Student();
复制代码
这句代码就会报错,只可以
Student s = new Student("张三",15);
复制代码
这么使用了
作者:
daniua
时间:
2016-4-7 22:51
没有无参的构造方法就要定义午餐构造方法,有有参构造方法就不用非要
作者:
兵蜂
时间:
2016-4-7 22:56
如果有带参构造函数,最好定义一个无参构造函数! 因为我们一旦定义了构造函数,系统就不自动提供无参构造函数了.总之,我们在定义完带参构造函数之后,最好定义一个无参构造函数,以防会有调用无参构造函数创建对象的情况发生!!
作者:
荒丶
时间:
2016-4-8 07:29
不一定.看需求.如果你不需要用到无参就不需要定义.如果你有可能需要,那么就要定义
作者:
zhoubinjian
时间:
2016-4-8 10:58
当你使用到有参构造函数时,就要定义无参构造函数
作者:
lidandan
时间:
2016-4-8 12:11
二楼正解,,,,
作者:
syasuker
时间:
2016-4-8 13:06
无参数构造函数的作用:
1. 你可以手动把构造函数设为private来防止外部类用new创建该类对象。
2. 创建对象后需要干一些事情,比如获取数据,设定回调函数
3. 如果一个基类没有无参构造函数,派生类的无参构造函数还有一个功能是,显式地调用基类构造函数
子类的所有的构造函数,默认都会访问父类中空参数的构造函数。
这么说把为了 防止出现各种奇怪的问题,你最好手动定义以一个无参构造函数,因为到时候你就不记得了2333
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2