几乎不可能实现原因如下:
(1)finalize()方法的通用格式如下:
protected void finalize( )
{
//内部Code
}
其中,关键字protected是防止在该类之外定义的代码访问finalize()标识符,所以你要复写该方法是不可以的。
(2)finalize( ) 正好在垃圾回收以前被调用非常重要。例如当一个对象超出了它的作用域时,finalize( ) 并不被调用。
这意味着你不可能知道何时——甚至是否——finalize( ) 被调用。因此,你的程序应该提供其他的方法来释放由对象使用
的系统资源,而不能依靠finalize( ) 来完成程序的正常操作。
|