java的析构函数
① 5. 请讲一讲java析构函数和虚函数的用法和作用。
java没有析构函数和虚函数,析构函数和虚函数是c++中的。
不过,java中的抽像方法,就相当于c++中的虚函数
② java语言放弃了c加加语言的资源回收机制对象必须调用析构函
题主是否想询问“java语言放弃了c加加语言的资源回收机制对象必须调用析构函数”?存在状态的变化。一旦C++的对象要被回收了,在回收该对象之前对象的析构函数将被调用,然后释放对象占用的内存;而java中一旦垃圾回收器准备好释放对象占用的存储空间,将首先调用其finalize()方法, 并且在下一次垃圾回收动作发生时,才会真正的回收对象占用的内存。可见在java中,调用GC不等于真正地回收内存资源,而且在垃圾回收中对象存在状态的变化。
③ 谁能讲一下java的析构函数
Java没有析构函数,java是有自动的垃圾回收机制的。这一点不像c++。
其实,若果想在垃圾回收时做一点事情,可以使用finalize()函数,这是在Object类中定义的,只要重载它就可以了。
例如:protected void
finalize()
{
.............................
// add something....................
}
④ 简述构造函数和析构函数的作用
构造函数只是起初始化值的作用,但实例化一个对象的时候,可以通过实例去传递参数,从主函数传递到其他的函数里面,这样就使其他的函数里面有值了。
析构函数与构造函数的作用相反,用于撤销对象的一些特殊任务处理,可以是释放对象分配的内存空间。
把类的声明放在main函数之前,它的作用域是全局的。这样做可以使main函数更简练一些。在main函数中定义了两个对象并且给出了初值,然后输出两个学生的数据。
当主函数结束时调用析构函数,输出stud has been destructe!。值得注意的是,真正实用的析构函数一般是不含有输出信息的。

(4)java的析构函数扩展阅读:
当定义一个类的时候,通常情况下都会显示该类的构造函数,并在函数中指定初始化的工作也可省略,不过Java编译器会提供一个默认的构造函数.此默认构造函数是不带参数的。而一般的方法不存在这一特点。
构造函数有回滚的效果,构造函数抛出异常时,构造的是一个不完整对象,会回滚,将此不完整对象的成员释放(c++)。
当一个类只定义了私有的构造函数,将无法通过new关键字来创建其对象,当一个类没有定义任何构造函数,C#编译器会为其自动生成一个默认的无参的构造函数。
⑤ java 类中的构造函数和析构函数名都是什么,java需要手动释放资源吗
java中
构造函数
名与类名相同,java没有
析构函数
,java不需要手动释放资源,它是有垃圾回收机制的。
