java Object 之 finalize 方法

来源:互联网 发布:王者荣耀 项羽 知乎 编辑:程序博客网 时间:2024/06/08 16:57

java 的Object 类是多么重要,应该不用多说  所有类都继承于该类。

其中的方法也都是精华中的精华,一共也就10个左右的方法。对于所有的方法的理解也是

java程序员的最基础:

下面介绍一下 finalize方法:

记得在之前面试中有被问到过Object中的所有对象,对于其他的还能说明作用,对finalize则是完全不会。

其实这个方法作用很简单,就是在对象被jvm回收时执行,所有如果某个对象需要在被回收时做点事情,就可以重写该方法了。

用法举例说明:

public class Test { public static void main(String[] args) { FinalizeTest t = new FinalizeTest(); t = null; // 创建一个对象后要把这个对象引用置为null,这样才能被jvm回收  如果注释这句话,jvm不会回收t指向的对象,也就不会执行该对象的finalize方法 System.gc(); // 告诉jvm去回收对象,至于jvm何时回收看jvm心情} }class FinalizeTest{/** * 重写finalize方法 */@Overrideprotected void finalize() throws Throwable {System.out.println("我被回收了!");}}


执行结果:

打印:我被回收了!