final、finally、finalize 三者区别

本文详细解析了Java中的Final关键字,包括其在变量、方法和类修饰上的应用规则,并解释了为何Final不能修饰抽象类和接口。此外,还介绍了Finally和Finalize的区别及应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Final 是一个修饰符:

当final 修饰一个变量的时候,变量变成一个常量,它不能被二次赋值。

当final 修饰的变量为静态变量(即有static 修饰)时,必须在声明这个变量的时候给它赋值。

当final 修饰方法时,该方法不能被重写。

当final 修饰类时,该类不能被继承。

Final 不能修饰抽象类,因为抽象类中会有需要子类实现的抽象方法吗(抽象类可以有抽象方法,也可以有普通方法,当一个抽象类中没有抽象方法时,这个抽象类也就没有存在的的必要了)

Final 不能修饰接口,以为接口中有需要其实现类来实现的方法。

Finally:

只能与try/catch 语句结合使用,finally语句块中的语句一定会执行,并且在return,continue,break关键字之前执行。

Finalize:

是一个方法,属于java.lang.Object类,finalize()方法是GC(garbage collector 垃圾回收)运行机制的一部分,finalize()方法是在GC清理它所从属的对象时被调用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值