[CareerCup] 14.3 Final Finally Finalize 关键字比较

本文详细解释了Java中的final、finally和finalize三个关键字的区别。final用于声明不可更改的变量、方法或类;finally确保try/catch后的代码块总能执行;finalize则是在对象被垃圾回收前进行资源清理的方法。

14.3 What is the difference between final, finally, and finalize?

这道题考察我们Java中的三个看起来很相似的关键字final,finally和finalize。

别看它们三长的很像,但是完全不是一回事。final用在一个变量,方法或是类之前表示是否可变化。而finally是用在try/catch模块中来却表一段代码总是被执行了。finalize方法是被垃圾管理器调用当没有引用存在了。下面来更进一步区分它们:

final

作用于主要类型的变量:变量值不能改变

作用于引用类型的变量:引用变量不能指向堆中其他的对象

作用于一个方法:方法不能被重写

作用于一个类:该类不能有子类

finally

finally块可以为try或catch之后,里面的代码总会被执行(除了虚拟机或者线程在try/catch中就结束)

finalize()

finalize()方法被垃圾回收机制调用,当没有引用存在时。经常备用于清理资源,比如关闭一个文件。

本文转自博客园Grandyang的博客,原文链接:关键字比较[CareerCup] 14.3 Final Finally Finalize ,如需转载请自行联系原博主。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值