final、finally、finalize的区别

其实是看起来相似,但用途完全不同的3个东西。

final可以用来修饰类,方法,变量,

修饰类代表不可以继承扩展,修饰方法代表不可以重写,修饰变量代表不可修改

finally是Java保证重点代码一定要被执行的一种方式,常用的用法式try-finally,try-catch-finally,常用于关闭JDBC连接,释放锁,关闭流等操作

finalize是基础类java.lang.Object的一个方法,在对象被垃圾收集前调用,他的设计目的是保证对象在被垃圾回收前完成特定资源的回收,现在已经不推荐使用,JDK9开始被标记为deprecated

 

基础类库的很多类,都被声明成final class,这样可以避免API使用者更改基础功能,这是保证平台安全的必要手段

用final修饰变量,也可以避免意外赋值导致程序错误

final修饰list时,只限制这个引用不能被赋值,但是list可以添加删除元素

 

如果try块里执行了System.exit(1),finally里的代码不会执行

 

posted @ 2019-05-11 17:53  apple_pie  阅读(180)  评论(0编辑  收藏  举报