finalize方法什么时候调用?
- 1.finalize方法每个java对象都有。
- 2.finalize方法不需要程序员去调用,由系统自动调用。
- 3.java对象如果没有更多的引用去指向它, 则该java对象成为垃圾数据,等待垃圾回收器的回收,垃圾回收器在回收这个java对象前会自动调用该象的finalize方法。
public static void main(String[] args){
Person p=new Person();
p=null;//没有引用指向,等待被回收
}
}
```class Person{
//重写Object中的finalize方法
public void finalizSe ()throws Throwable{
System.out.println(this+"马上要被回收了");//程序员不能使用java垃圾回收器,只能“建议”java使用
}
}