26
2017
09

final、finally和finalize的区别

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

上一篇:Gson纯Json解析 下一篇:Jquery调用打印机打印(包含去除页眉页脚)