当垃圾收集器确定不再对特定对象进行引用时,该finalize()
方法将由该对象上的垃圾收集器调用。该finalize()
方法不需要参数,也不返回值。
finalize()
给出了演示Java方法的程序,如下所示:
import java.util.*; public class Demo extends GregorianCalendar { public static void main(String[] args) { try { Demo obj = new Demo(); System.out.println("The current time is: " + obj.getTime()); obj.finalize(); System.out.println("The finalize() method is called"); } catch (Throwable e) { e.printStackTrace(); } } }
输出结果
The current time is: Tue Jan 15 13:21:55 UTC 2019 The finalize() method is called
现在让我们了解上面的程序。
在main()
类Demo中的方法中,创建了Demo对象obj。然后使用该getTime()
方法打印当前时间。该finalize()
方法被调用。演示此代码段如下:
try { Demo obj = new Demo(); System.out.println("The current time is: " + obj.getTime()); obj.finalize(); System.out.println("The finalize() method is called"); } catch (Throwable e) { e.printStackTrace(); }