其他分享
首页 > 其他分享> > final、finally、finalize的区别

final、finally、finalize的区别

作者:互联网

final可以用来修饰类、方法、变量,并分别代表不同的含义,final的类具有不可继承扩展的特性,final的变量不可修改,只能被赋值一次,赋值后不可再改变,final的方法不能被重写(override)但是能被子类所继承使用。   finally是Java的保证机制,用来保证一段代码务必执行的机制,使用try-finally或者try-catch-finally来进行类似JDBC连接、保证unlock锁等动作。   finalize是基础类java.lang.Object的一个方法,目的是保证对象在被回收前回收特定资源,但在JDK9以后被标记为deprecated(荒废的)   Ps.:final并不表示immutable(不可变)的,例如声明了final的ArrayList数组,则可以使用ArrayList的对象行为进行相应的变动操作绕开final限制   immutable在很多场景可以使用到,但是Java没有原生支持Immutable类,要实现,则需要做到: class声明为final类,成员变量声明为final和private,不能实现setter方法。 构造对象时,成员变量使用深度拷贝来初始化,而不是直接复制,用以防御输入对象不被其他人修改。 要实现getter方法,使用copy-on-write原则,创建私有copy

 

标签:变量,finalize,finally,使用,方法,final
来源: https://www.cnblogs.com/halfgong/p/16339477.html