final:
概念:用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
说明:final声明的成员变量,必须在声明的同时赋值;final 声明的局部变量和普通的局部变量一样,可以在声明的同时不赋初值,但是在使用前必须赋值。
finalize():
概念:是Object类的一个方法,在GC的时候会调用被回收对象的此方法。
说明:可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。
finally:
case1:finally一定会执行。
return、continue和break都不能阻止finally语句块的执行
case2:finally不一定会执行。
主线程(非Daemon线程)在启动了线程DaemonThreadA之后随着main方法执行完毕而终止,此时虚拟机中已经没有非Daemon线程,虚拟机需要退出。
虚拟机退出时,所有的Daemon线程都需要立即终止,故DaemonThreadA立即终止,但是DaemonThreadA中的finally块并没有执行。
注意:在构建Daemon线程时,不能依靠finally块中的代码来确保执行关闭或清理资源的逻辑。
final、finalize、finally
最新推荐文章于 2024-06-27 08:00:00 发布