final、finally、finalize的区别

1)final用于声明属性、方法、类,分别表示属性不可变、方法不可覆写、类不可被继承。

2)finally作为异常处理的一部分,只能用在try或try/catch语句中,并且附带一个代码块,表示这段代码最终一定被执行,经常用在需要释放资源的情况下。

3)finalize是Object类的一个方法名,在垃圾回收器执行时会调用被回收对象的fanalize()方法,可以覆盖该方法来实现对其他资源的回收,如关闭文件等。一旦垃圾回收器准备好释放对象占用的空间,将首先调用起finalize()方法,并且在下一次垃圾回收动作发生时,才会真正回收对象占用的内存。

补充:
被final修饰的变量不可变指的是引用的不可变,及它只能指向初始时指向的那个对象,而不关心对象的内容的变化

final参数表示这个参数在这个函数内部是不允许被修改的

一个类不能即被声明为final,又被声明为abstract

原文地址:https://www.cnblogs.com/0820LL/p/9644265.html