final , finally , finalize区别:
- final表示终结器,用于定义不能被继承的父类,不能被复写的方法,常量.
- finally是异常处理的出口.
- finalize是Object类定义的一个方法,用于对象执行回收前的收尾操作.
class Person {
public Person() { // 构造方法
System.out.println("Person类的实例化对象产生。");
}
@Override
protected void finalize() throws Throwable { // 覆写方法
System.out.println("Person对象被回收。");
throw new Exception("不影响程序。"); // 抛异常,程序不会中断
}
}
public class Test {
public static void main(String[] args) throws Exception {
Person per = new Person();
per = null; // 对象成为垃圾
System.gc(); // 手工清除
System.out.println("Hello World .");
}
}