final, finally, finalize的区别?

final是一个修饰符,它可以修改类、方法、变量。

final修饰类时表明这个类不可以被继承。

final修饰方法时表明这个方法不可以被其子类重写。

final修饰变量时可分为局部变量、实例变量和静态变量,当final修饰局部变量时,该局部变量可以被一次赋值,以后该变量的值不能发生该变量;当final修饰实例变量时,实例变量必须由程序在构造器、初始化块、定义时这3个位置的其中之一指定初始值;当final修饰静态变量时,静态变量必须由程序在静态初始化块、定义时这2个位置的其中之一指定初始值。

finally是异常处理语句结构的一部分,表示总会执行的代码块。 

finalizeObject类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收。但实际上重写该方法进行资源回收并不安全,因为JVM并不保证该方法总被调用。

posted @ 2020-12-15 01:11  咔啡  阅读(94)  评论(0编辑  收藏  举报