为什么finalize()不像java中的构造函数那样自动调用其父finalize()?
我重写了finalize方法来做一些工作,同时重新声明对象的内存空间。但是有人说我必须在重写finalize方法时调用父类的finalize。但是构造函数自动调用它,这与finalize方法不同为什么finalize()不像java中的构造函数那样自动调用其父finalize()?,java,jdk1.6,finalizer,Java,Jdk1.6,Finalizer,我重写了finalize方法来做一些工作,同时重新声明对象的内存空间。但是有人说我必须在重写finalize方法时调用父类的finalize。但是构造函数自动调用它,这与finalize方法不同 你能告诉我一些关于……的事情吗?在我的重点中是这样定义的: 类对象中声明的finalize方法不采取任何操作。class对象声明finalize方法这一事实意味着任何类的finalize方法都可以为其超类调用finalize方法。除非程序员有意取消超类中终结器的操作,否则应该始终这样做。与构造函数不同,
你能告诉我一些关于……的事情吗?在我的重点中是这样定义的: 类对象中声明的finalize方法不采取任何操作。class对象声明finalize方法这一事实意味着任何类的finalize方法都可以为其超类调用finalize方法。除非程序员有意取消超类中终结器的操作,否则应该始终这样做。与构造函数不同,终结器不会自动调用超类的终结器;这种调用必须明确编码
在重点矿井中,其定义如下: 类对象中声明的finalize方法不采取任何操作。class对象声明finalize方法这一事实意味着任何类的finalize方法都可以为其超类调用finalize方法。除非程序员有意取消超类中终结器的操作,否则应该始终这样做。与构造函数不同,终结器不会自动调用超类的终结器;这种调用必须明确编码
也值得一读:也值得一读:+1,因为finalize是一个方法,默认情况下,方法不调用其超类的实现。如果可能的话,应该避免为finalize添加特殊行为,因为这也不是一个好主意。+1因为finalize是一个方法,默认情况下,方法不会调用其超类的实现。如果可能的话,应该避免添加特殊行为,因为这也不太可能是个好主意。