final finally和finalize的区别
1 :final用于声明属性、方法和类
不可以用来修饰类和接口 ,分别表示属性不可变,方法不可覆盖,类不可继承
如果一个类被声明为final,就意味着他不能再派生新的子类,不能作为父类被继承
一个abstract类的抽象类,是不可以被final来修饰的
如果final修饰的是一个变量并且是基本数据类型
那么这个变量被赋予的取值是不可以被改变的,所以就是一个常量
如果final修饰的变量是一个对象,那么变量里保存的引用
(可以理解为保存的对象在内存中的地址)
是不可以被改变的。
final修饰的方法,不能被子类override。但是可以被子类所继承
2 :finally是异常处理结构的一部分,表示总是执行
try/catch语句中
finally里的代码总会执行,不管是否有异常发生
如果把关闭连接的操作放在finally里面,保证资源都是可以被关闭掉
3 :finalize是Object类的一个方法
在垃圾收集器执行的时候会调用被回收对象的此方法
在对象被从内存中清理出去之前,做必要的清理工作