Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么finalize()不像java中的构造函数那样自动调用其父finalize()?_Java_Jdk1.6_Finalizer - Fatal编程技术网

为什么finalize()不像java中的构造函数那样自动调用其父finalize()?

为什么finalize()不像java中的构造函数那样自动调用其父finalize()?,java,jdk1.6,finalizer,Java,Jdk1.6,Finalizer,我重写了finalize方法来做一些工作,同时重新声明对象的内存空间。但是有人说我必须在重写finalize方法时调用父类的finalize。但是构造函数自动调用它,这与finalize方法不同 你能告诉我一些关于……的事情吗?在我的重点中是这样定义的: 类对象中声明的finalize方法不采取任何操作。class对象声明finalize方法这一事实意味着任何类的finalize方法都可以为其超类调用finalize方法。除非程序员有意取消超类中终结器的操作,否则应该始终这样做。与构造函数不同,

我重写了finalize方法来做一些工作,同时重新声明对象的内存空间。但是有人说我必须在重写finalize方法时调用父类的finalize。但是构造函数自动调用它,这与finalize方法不同


你能告诉我一些关于……的事情吗?

在我的重点中是这样定义的:

类对象中声明的finalize方法不采取任何操作。class对象声明finalize方法这一事实意味着任何类的finalize方法都可以为其超类调用finalize方法。除非程序员有意取消超类中终结器的操作,否则应该始终这样做。与构造函数不同,终结器不会自动调用超类的终结器;这种调用必须明确编码


在重点矿井中,其定义如下:

类对象中声明的finalize方法不采取任何操作。class对象声明finalize方法这一事实意味着任何类的finalize方法都可以为其超类调用finalize方法。除非程序员有意取消超类中终结器的操作,否则应该始终这样做。与构造函数不同,终结器不会自动调用超类的终结器;这种调用必须明确编码


也值得一读:也值得一读:+1,因为finalize是一个方法,默认情况下,方法不调用其超类的实现。如果可能的话,应该避免为finalize添加特殊行为,因为这也不是一个好主意。+1因为finalize是一个方法,默认情况下,方法不会调用其超类的实现。如果可能的话,应该避免添加特殊行为,因为这也不太可能是个好主意。