博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
构造函数和析构函数
阅读量:6771 次
发布时间:2019-06-26

本文共 949 字,大约阅读时间需要 3 分钟。

构造函数:

是一种特殊的方法。主要用来在创建对象时初始化对象,即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载

作用:

为对象成员变量赋初始值。

特点:

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

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

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

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

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

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

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

析构函数:
析构函数(destruct) 与构造函数相反,当对象结束其生命周期时(例如对象所在的函数已调用完毕),系统自动执行析构函数。析构函数往往用来做“清理善后” 的工作(例如在建立对象时用new开辟了一片内存空间,delete会自动调用析构函数后释放内存)。

析构函数的作用:用于在撤销对象前,完成一些清理工作,比如:释放内存等。每当创建对象时,需要添加初始化代码时,则需要定义自己的构造函数;而对象撤销时,需要自己添加清理工作的代码时,则需要定义自己的析构函数。

转载于:https://www.cnblogs.com/infinity-/p/7190823.html

你可能感兴趣的文章
营销方法论
查看>>
【转】深入PHP FTP类的详解
查看>>
PHP查找中文字符的解决方案
查看>>
css代码中position的定位,baidu+总结
查看>>
取得Access自增标识字段在插入数据后的id值
查看>>
cocos2dx 3.x (单选,多选,复选checkBox按钮的实现) RadioButton
查看>>
xhtml头文件设置
查看>>
SQLite数据库中rowid使用
查看>>
如何只克隆git仓库中的一个分支?
查看>>
par函数的ann 参数-控制图片的注释信息
查看>>
正确移除List中对象
查看>>
整合struts2+spring+hibernate
查看>>
Android中 Bitmap和Drawable相互转换的方法
查看>>
函数fseek() 用法(转)
查看>>
[转]kaldi 神经网络
查看>>
解决Oracle出现以0开头的小数,开头的0消失的问题
查看>>
php 网站301重定向设置代码实战案例
查看>>
mongodb MongoDB 聚合 group(转)
查看>>
nginx源码分析:架构解析
查看>>
限制文本域中字符输入个数
查看>>