面向对象集|每日一题:final,finally,finalize 的区别?

281 阅读1分钟

参考回答:

final 是一个修饰符,可以用来修饰类、变量和方法。修饰类之后,类不可以被继承。修饰变量之后,基本数据类型变量初始赋值之后不可以改值,引用数据类型变量初始赋予的引用地址不可以改变,但引用对象的内容可以改变。修饰方法之后,方法不可以被重写。

finally 是 Java 异常处理机制中的一个关键字,需要配合 try 使用。无论 try 语句块中的代码是否出现异常,都会执行 finally 语句块中的代码。一般用来做关闭连接、释放资源等操作。

finalize 是 Object 类中的一个方法,当 GC(Garbage Collection,垃圾回收) 执行时会调用被回收对象的该方法。我们主动调用该方法并不会让对象被回收,但可以通过重写该方法,达到在 GC 执行时,执行一些其他资源释放的操作。