中易网

构造函数和默认构造函数有什么区别

答案:2  悬赏:80  
解决时间 2021-02-16 07:51
构造函数和默认构造函数有什么区别
最佳答案
区别:
1、构造函数的函数名称与类名同名,其他方法(函数)名称可以自定义。
2、构造函数仅在对象被创建时系统会根据给定的参数以及类中的构造函数定义进行选择调用,如果类中没有定义构造函数,系统默认会提供一个无参构造空函数,什么都不会做,只是满足接口要求,构造函数不能被显式调用。其他函数根据程序员需要而调用,且必须显式调用。
3、由于对象创建后,系统必须返回新建对象的地址,赋值给指针变量(C++,C#中是将引用赋值给对象变量,其实一样,内部也是对象地址),那么换句话说,返回接口被系统占用了,因此构造函数就不能返回任何类型值,所有带返回值构造函数的定义编译器都不会通过。结果就是构造函数没有也不能有返回类型,而其他函数随意。
4、由于构造函数的作用只是在创建对象时用来初始化成员变量和对象的,因此构造函数不能被继承也不能使用接口。换句话说,因为构造函数只在对象创建时会被调用,其他情况下永远不会被调用,因此如果对一个类定义一个接口,接口中提供了构造函数的接口的话,该函数接口是永远无法被显式调用的,显得多余了,因此如果为构造函数定义接口,编译器会报错。(new一个对象的时候new的是类,不会new接口)

目前就想到这些。
全部回答
1. 构造函数的定义: 构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载。 2. 构造函数什么时候使用: 在创建对象时调用构造函数,构造函数来初始化成员变量。可以有多个构造函数,他们的区别就是参数不同。所有可以用不同的构造函数初始化一个对象。 3. 默认的构造函数: 无参数,就是   对象1 = new 类1();4. 自己定义的构造函数: 有参数,比如 class a{     int a;     a();//默认是这样     a(int aa){             a = aa;         };//自定义是这样 } 对象aaa = new a();//默认构造 对象bbb  =  new  a(250);// 自定义构造5. 自定义的构造函数可以灵活地初始化类内成员
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
土地,原野,我的家乡,你必须被解放!你必须
康奈皮鞋(中国水电五局南)地址在什么地方,想
哪里可以下载免费的超兽武装之仁者无敌和超兽
耳膜修复手术后耳内有异声
领悟教育在哪里啊,我有事要去这个地方
中国邮政储蓄银行(洪桥营业所)地址在哪,我要
交已经计提的税时,对利润表会有影响吗
加入WTO对中国贸易的影响
以什么名义写借条,具有刑事责任
黑龙江哪些专科学校好? 哪些专业比较好?
玉田镇地址在哪,我要去那里办事
VB新建一个文本框text1,保证输入焦点在文本
电信进入网页设置wifi密码 提示ssid-1必须以C
CNTV怎么看电视台直播
北斗主题酒店地址好找么,我有些事要过去
推荐资讯
若玻璃仪器沾有油脂,常用热的( )溶液进行
在c51单片机中 最口一句while(1)在这里是什么
鹅公窠怎么去啊,有知道地址的么
如何当餐饮部大堂经理
雄盛五金水电批发地址有知道的么?有点事想过
丽丽家常菜馆地址在哪,我要去那里办事
宝宝吃面条好处多多 婴幼儿面条怎么选择
新外观地址有知道的么?有点事想过去
如何把msn全部清理干净
我在惠州淡水做车到大亚湾假日酒店,到了酒店
瑞信堂大药房泾阳县第四药店分店我想知道这个
如何充分利用农村的剩余劳动力?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?