final、finally、finallze有什么不同?

fina可以用来修饰类、方法、变量,分别有不同的意义,final修饰的class代表不可以继承扩展,final的变量是不可以修改的,而final的方法也是不可以重写的。

finally则是Java保证重点代码一定要被执行的一种机制。我们可以使用try-finally或者try-catch-finally来进行类似关闭JDBC连接,保证unlock锁等动作。

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

1。final修饰的类,不可被继承,修饰的方法不可被重写,修饰的变量不可多次赋值。通过final能够得到性能上的优化,但是不明显,如果大量使用可能会干扰代码,不能表达出本来具有的含义。故不使用。匿名内部类,访问局部变量要求传入的参数,必须是final是要保证数据一致性问题。

2。finally。代码中总是会执行的代码段。除了退出虚拟机外。

3。finalize。在虚拟机回收改对象前进行调用。此种方式不可取。因为java虚拟机不知道在什么时候才对对象进行回收。

发布了100 篇原创文章 · 获赞 14 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/csdn9228/article/details/101000972