黑马程序员技术交流社区
标题:
一个类的缺省构造函数可以有参数吗
[打印本页]
作者:
李瑞
时间:
2013-4-26 22:32
标题:
一个类的缺省构造函数可以有参数吗
一个类的缺省构造函数可以有参数吗
如题求解
作者:
杨同旺
时间:
2013-4-26 22:35
缺省的构造函数,是空参的
作者:
蔚蓝小嗨
时间:
2013-4-26 22:48
一个类中如果没有构造函数,会默认的有一个空参数的构造函数
作者:
袁梦希
时间:
2013-4-26 22:51
楼主你好
缺省显得太专业了,咱们用大白话说,就是说默认就行,
在类中,默认的构造方法是无参数的,如果类中定义了有参的构造函数而没定义无参的构造函数,
发现子类构造函数运行时,先运行了父类的构造函数。为什么呢?
原因:子类的所有构造函数中的第一行,其实都有一条隐身的语句super();
super(): 表示父类的构造函数,并会调用于参数相对应的父类中的构造函数。而super():是在调用父类中空参数的构造函数。
为什么子类对象初始化时,都需要调用父类中的函数?(为什么要在子类构造函数的第一行加入这个super()?)
因为子类继承父类,会继承到父类中的数据,所以必须要看父类是如何对自己的数据进行初始化的。所以子类在进行对象初始化时,先调用父类的构造函数,这就是子类的实例化过程。
作者:
韩冬
时间:
2013-4-26 22:53
缺省的构造函数应该不可以有参数,因为默认的是空参数,你下面对象如果带有参数,就出现不匹配而报错,另外,即便不缺省,下面的对象参数也不得多于类中。菜鸟,请轻拍。{:soso_e100:}
作者:
黄玉昆
时间:
2013-4-27 22:36
如果仍有问题,请继续追问,如果问题已解决,请将分类改为已解决,谢谢
作者:
曾德强
时间:
2013-4-27 22:49
缺省的构造函数就是无参数的,如果要定义有参数的构造函数,就是重载了,不叫缺省了;
作者:
肖宇宥
时间:
2013-4-27 23:21
如果,给个参数,就会将默认的构造方法覆盖了。可以给个无参构造方法和有参构造方法,形成重载
作者:
hyw840705183
时间:
2013-4-28 18:42
Java这个构造函数和C++中的构造函数有类似之处,如果没有定义构造函数的话,编译器会自动生成个默认无参的构造函数,但在Java里把构造函数看成一个构造器,则默认构造函数也就是默认构造器(又名“无参”构造器)。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2