`

构造方法与c中的析构方法

 
阅读更多

构造方法:
在Java中,每个类都有至少一个构造方法。
如果我们没有给该类显示的生命一个构造方法,那么系统会自动为该类产生一个默认的构造方法。
默认的构造方法:与类同名,没有返回值,默认为 public 。
当我们为一个类声明了一个显示的“非默认”的构造方法时,系统就不会为该类产生一个默认的构造方法了。
一定要注意,当我们为一个类编写一个“非默认”的构造方法时,最好给该类再声明一个默认的构造方法,
否则,当我们调用默认的构造方法创建对象时,就会出错了。这是程序员最忘记的一点。

C++中的析构方法:
在一个对象即将被从内存中释放时,析构方法被调用,这个方法得到执行。
在C++中常用析构方法来释放对象在生存期间所占用的一些资源。

finalize()方法:
在Java中,来至于Object类中的finalize()方法就类似于C++中的析构方法。
由于Java中有“自动垃圾回收器”的存在,这个析构方法就显得不那么要了。
该方法是在对象被“垃圾回收器”回收前调用,而不是在对象变成垃圾前被调用。
由于“垃圾回收器”是一个的优先级级别的线程,它不由程序员来调用,启动规则
也无规可循,并不是一产生垃圾,它就会启动,有的甚至程序终止了,垃圾回收器也没有
启动。因此,这并不是一个很“可靠”的机制,所以,我们无法保证每个对象的finalize
方法最终都会被调用。

System.gc():
当然,如果程序需要,我们也可以显示的调用“垃圾回收器”。JDK为我们提供了这一方法。
System.gc(); 可以显示调用“垃圾回收器”。若非程序设计需要,一般不会这么做。

分享到:
评论

相关推荐

    C#中构造函数和析构函数用法实例详解

    本文实例讲述了C#中构造函数和析构函数用法。分享给大家供大家参考,具体如下: 构造函数与析构函数是一个类中看似较为简单的两类函数,但在实际运用过程中总会出现一些意想不到的运行错误。本文将较系统的介绍构造...

    C/C++面试题:编写类String的构造、析构和赋值函数

    本文主要介绍了C/C++面试题:编写类String的构造、析构和赋值函数,解析构造函数、析构函数和赋值函数的编写方法

    浅谈C# 类的继承

    C#的继承是可以传递的,如果类C从类B派生,而类B从类A派生,则类C将继类B的所有成员,也继承类A的所有成员(各个基类的静态构造方法、实例构造方法和析构方法除外)。子类(派生类)可以在继承的 基础上添加属于自己...

    Web程序设计复习题.doc

    与方法不同的是,构造函数只有void这一种返回类型 D.在类中可以重载构造函数,C#会根据参数匹配原则来选择执行合适的构造函数 5. 下面关于构造函数和析构函数的说法,不正确的是( ) A.构造函数和析构函数都不能...

    Cocos2dXLessons20131011

    构造方法和析构方法 执行父类的构造方法 执行父类的方法 实函数、虚函数、纯虚函数 纯虚类 函数重写、函数重载 C++引用 C++标准库容器的使用 C++文件操作 C++字符串常用操作 ###课后习题 纯C语言实现链表 读取外部...

    详解在C++中显式默认设置的函数和已删除的函数的方法

    在 C++ 中,如果某个类型未声明它本身,则编译器将自动为该类型生成默认构造函数、复制构造函数、复制赋值运算符和析构函数。这些函数称为特殊成员函数,它们使 C++ 中的简单用户定义类型的行为如同 C 中的结构。也...

    C语言解析教程(原书第4版)(美) 凯利.pdf

    13.6 构造函数和析构函数 13.7 面向对象编程和继承 13.8 多态 13.9 模板 13.10 c++的异常 13.11 面向对象编程的优点 13.12 总结 13.13 练习 第14章 从c到java 14.1 输出 14.2 变量和类型 14.3 类和抽象数据类型 14.4...

    谭浩强C语言程序设计,C++程序设计,严蔚敏数据结构,高一凡数据结构算法分析与实现.rar )

    3.5.4 字符数据在内存中的存储形式及使用方法 41 3.5.5 字符串常量 41 3.5.6 符号常量 42 3.6 变量赋初值 42 3.7 各类数值型数据之间的混合运算 43 3.8 算术运算符和算术表达式 44 3.8.1 C运算符简介 44 3.8.2 算术...

    C++ 的构造/析构/赋值/拷贝函数比较

    构造函数、析构函数与赋值函数是每个类最基本的函数。每个类只有一个析构函数,但可以有多个构造函数(包含一个拷贝构造函数,其它的称为普通构造函数)和多个赋值函数(除了同类的赋值以外,还有其他的赋值方法)。

    77G 22套C语言 C++ 数据结构 程序设计视频课程合集 C丨C++相关学习视频全套视频教程

    38.MFC_对话框_访问控件_7种方法_C.mp4 39.MFC_对话框_复选框_单选钮.mp4 4.MFC_消息映射.mp4 40.MFC_模态对话框.mp4 41.MFC_非模态对话框.mp4 42.MFC_属性表.mp4 43.MFC_公用对话框.mp4 44.MFC_数组类-1....

    c.c++找工作面试重点结构图-mindmanager

    构造顺序,父类构造,子类构造,析构顺序,子类析构,父类析构 面向对象中的继承指类的继承,类似父子继承 1、子类拥有父类的所有成员变量和成员函数 2、子类就是一种特殊的父类 3、子类对象可以当作父类对象使用...

    c++编程思想及读后感

    4.4 含有构造函数和析构函数的stash 61 4.5 含有构造函数和析构函数的stack 63 4.6 集合初始化 65 4.7 缺省构造函数 67 4.8 小结 68 4.9 练习 68 第5章 函数重载与缺省参数 69 5.1 范围分解 69 5.1.1 用返回值重载 ...

    C++高级参考手册 完全自学 内容详细 讲解通俗易懂

    4.4 含有构造函数和析构函数的stash 4.5 含有构造函数和析构函数的stack 4.6 集合初始化 4.7 缺省构造函数 4.8 小结 4.9 练习 第5章 函数重载与缺省参数 5.1 范围分解 5.1.1 用返回值重载 5.1.2 安全类型...

    谭浩强C语言程序设计,C++程序设计,严蔚敏数据结构,高一凡数据结构算法分析与实现.rar

    3.5.4 字符数据在内存中的存储形式及使用方法 41 3.5.5 字符串常量 41 3.5.6 符号常量 42 3.6 变量赋初值 42 3.7 各类数值型数据之间的混合运算 43 3.8 算术运算符和算术表达式 44 3.8.1 C运算符简介 44 3.8.2 算术...

    C++编程思想(中文版) chm

    全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚...

    C编程思想--chinapub书籍--文本PDF

    全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚...

    C++编程思想(pdf格式)

    4.4 含有构造函数和析构函数的stash 61 4.5 含有构造函数和析构函数的stack 63 4.6 集合初始化 65 4.7 缺省构造函数 67 4.8 小结 68 4.9 练习 68 第5章 函数重载与缺省参数 69 5.1 范围分解 69 5.1.1 用返回值重载 ...

    新概念C语言.李一波(带详细书签).pdf

    20.3 构造函数和析构函数 230 20.3.1 构造函数 230 20.3.2 析构函数 232 20.4 继承与派生 235 20.4.1 继承与派生的概念 235 20.4.2 建立派生类的方法 237 20.4.3 公用派生类 238 20.4.4 私有派生类 240 ...

    免费下载:c++编程思想(中文)

    4.4 含有构造函数和析构函数的stash 61 4.5 含有构造函数和析构函数的stack 63 4.6 集合初始化 65 4.7 缺省构造函数 67 4.8 小结 68 4.9 练习 68 第5章 函数重载与缺省参数 69 5.1 范围分解 69 5.1.1 用返回值重载 ...

Global site tag (gtag.js) - Google Analytics