package com.zwy.object_; //演示 Finalize的用法 public class Finalize_ { public static void main(String[] args) { Car Honda = new Car("本田"); Honda = null; System.gc();//主动调用垃圾回收器 System.out.println("程序退出了。。。 "); //这是car对象变成一个垃圾,垃圾回收器就会回收(销毁)对象,在销毁对象前,会调用该对象的Finalize方法 //程序员就可以在Finalize中,写自己的业务逻辑代码(比如释放资源 :数据库链接,或者打开文件) //如果程序员不重写finalize,那么会调用Object类的finalize,即默认处理 //如果程序员重写了finalize,就可以实现自己的逻辑 } } class Car{ private String name; public Car(String name) { this.name = name; } //重写finalize @Override protected void finalize() throws Throwable { System.out.println("我们销毁汽车" + name ); System.out.println("释放了某些资源。。。 "); } }