final、finally、finalize的区别

final用于修饰不可变的类、变量和方法,阻止继承和修改。finally在异常处理中确保代码块的执行,常用于资源关闭。finalize是对象在被垃圾回收前可调用的方法,但在Java9后被废弃,现代Java推荐使用try-with-resources等机制管理资源。
摘要由CSDN通过智能技术生成

final:是一个关键字,用于修饰类、变量和方法。修饰类时,表示该类不能被继承,修饰变量时,表示该变量的值不能被修改,修饰方法时,表示该方法不能被子类覆盖。

finally:是一个关键字,在异常处理中使用,它通常和try/catch配合使用,并且附带一个语句块,无论是否发生异常或者抛出异常,这段语句最终都会执行,通常被用来关闭/释放资源

finalize:是一个方法,它是在java.lang.Object中定义的,即每一个对象都有这个方法,这个方法在垃圾回收器gc启动并且回收对象的时候被调用,gc可以回收大部分的对象,包括new出来的对象,我们创建对象一般都是new的,所以一般不需要程序员去实现finalize。在该方法中,可以编写对象资源清理的逻辑。但从Java9开始,该方法已被废弃,并且不推荐使用。在现代的Java应用程序中,通常使用"try-with-resources"或类似的机制来手动管理资源,而不是依赖"finalize"方法。

总结:它们在名称上相似,因此需要根据用途和语义应用于不同的场景。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值