java 方法
以前认为的就是自己写的函数,但是经过教程的学习,发现了还有一种特殊的方法 他是是Object的protected方法,
子类可以覆盖该方法以实现资源清理工作。
finalize() 方法
下面给大家展示一个例子:
public class Finalize_1 {
public static void main(String[] args) {
Fin1 fin1 = new Fin1("kwy", 21);
fin1=null;
System.gc();
}
}
class Person {
int age;
String name;
}
class Fin1 extends Person{
public Fin1(String name,int age){
this.age=age;
this.name=name;
System.out.println("name:"+name+"\t"+"age:"+age);
}
@Override
protected void finalize() throws Throwable {
super.finalize();
System.out.println("name is:" + name + "\t" + "age is:" + age);
}
}
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/2968ae78a426e54993c40cbcdf6b7fe0.png)
他其实就是清理对象的方法,在占用空间解除后被当作垃圾回收之前调用,清除回收对象。上面这个例子告诉我们,我们可以使用 finalize() 来确保一个对象打开的文件被关闭了。