1.构造函数的命名必须和类名完全相同。在java中普通函数可以和构造函数同名,但是必须带有返回值;

2.构造函数的功能主要用于在类的对象创建时定义初始化的状态。它没有返回值,也不能用void来修饰。这就保证了它不仅什么也不用自动返回,而且根本不能有任何选择。而其他方法都有返回值,即使是void返回值。尽管方法体本身不会自动返回什么,但仍然可以让它返回一些东西,而这些东西可能是不安全的;

3.构造函数不能被直接调用,必须通过new运算符在创建对象时才会自动调用;而一般的方法是在程序执行到它的时候被调用的;

4.当定义一个类的时候,通常情况下都会显示该类的构造函数,并在函数中指定初始化的工作也可省略,不过Java编译器会提供一个默认的构造函数.此默认构造函数是不带参数的。而一般的方法不存在这一特点;

5.构造函数有回滚的效果,构造函数抛出异常时,构造的是一个不完整对象,会回滚,将此不完整对象的成员释放(c++)

6.当一个类只定义了私有的构造函数,将无法通过new关键字来创建其对象,当一个类没有定义任何构造函数,C#编译器会为其自动生成一个默认的无参的构造函数。

7.在Python中构造函数必须通过重写__init__方法实现

C++构造函数

C++语言为类提供的构造函数可自动完成对象的初始化任务,全局对象和静态对象的构造函数在main()函数执行之前就被调用,局部静态对象的构造函数是当程序第一次执行到相应语句时才被调用。然而给出一个外部对象的引用性声明时,并不调用相应的构造函数,因为这个外部对象只是引用在其他地方声明的对象,并没有真正地创建一个对象。

C++的构造函数定义格式为:

class <类名>

public:

<类名>(参数表);

//...(还可以声明其它成员函数)

<类名>::<函数名>(参数表)

//函数体

如以下定义是合法的:

class T

public:

T(int a=0){ i=a; }//构造函数允许直接写在类定义内,也允许有参数表。

private:

int i;

如果一个类中没有定义任何的构造函数,那么编译器只有在以下三种情况,才会提供默认的构造函数:

刚刚查询:constructor extinguished faveolate input-process-output Recovery Service Transmeta 南澳杰卡斯 Cryptoxanthin cryptoxanthol Phonogram 现实主义 武城县 海枯石烂 蟒张营 可想而知 利比亚 麻辣煮鱼 丹霞温泉 顾维琛 教条主义者 捕人藤 内忧外患 紫山先生大全集 埃德温 null 刘善玖 Akihiko anti-theft Heritage Ann-Margret Honeymoon Lycianthes Nitrososphaerales 海洋地理 馅儿饼 采取措施 茶陵县 administrare 简明不列颠百科全书 元宵佳节 香菇盖浇饭 观察使 边境县 gelatus Bartlett gesammelten Laplace whistle 珠江口 退休养老 步履艰难 颁布施行 Autarchoglossa 麻辣十香菜 大田乡 加倍努力 口供 乐滋滋 勃列日涅夫 人口数 山东抗日民主根据地 阴离子 黑死病 Schuetzenberger 绝对高度 肺泡 2004年度新加坡红星大奖颁奖典礼 讨厌的人 资料费 异足虫 不一般 hospitals Capitaltotakeup epeirophoresis supernatural 麦克斯韦 数码兽大冒险V驯兽师01 不下来 空气调节
友情链接: 知道 电影 百科 好搜 问答 微信 值得买 巨便宜 天天特价 洛阳汽车脚垫 女装 女鞋 母婴 内衣 零食 美妆 汽车 油价 郑州 北京 上海 广州 深圳 杭州 南京 苏州 武汉 天津 重庆 成都 大连 宁波 济南 西安 石家庄 沈阳 南阳 临沂 邯郸 保定 温州 东莞 洛阳 周口 青岛 徐州 赣州 菏泽 泉州 长春 唐山 商丘 南通 盐城 驻马店 佛山 衡阳 沧州 福州 昆明 无锡 南昌 黄冈 遵义
© 2026 haodianxin 百科 消耗时间:0.008秒 内存0.81MB