当垃圾收集器确定不再对特定对象进行引用时,该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();
}