final,finally,finalize的区别

final,finally,finalize的区别

final:

final 是一个关键字,用于声明一个不可改变的实体。可以用于类、方法和变量。

java 复制代码
final 类:不能被继承。例如:
final class MyClass {}

final 方法:不能被重写。例如:
class Base {
    final void show() {}
}

final 变量:变量的值在初始化后不能更改。例如:
final int x = 10;

finally:

finally 是一个关键字,用于异常处理中的一种结构。无论是否捕获了异常,finally 块中的代码都会执行。通常用于释放资源或执行清理操作。

java 复制代码
try {
    // 可能抛出异常的代码
} catch (Exception e) {
    // 处理异常
} finally {
    // 总是执行的代码块
}

finalize

finalize 是一个方法,属于 java.lang.Object 类。在垃圾回收之前,系统会调用这个方法,允许程序员在对象被回收之前释放资源或执行清理操作。注意,使用 finalize 方法并不推荐,因为它的调用时机是不确定的,并且在Java 9中已经被标记为弃用。

java 复制代码
protected void finalize() throws Throwable {
    try {
        // 清理代码
    } finally {
        super.finalize();
    }
}
相关推荐
bugcome_com2 分钟前
C# 高级集合使用示例
开发语言·c#
sycmancia6 分钟前
C++——动态内存分配、关于虚函数、关于继承中的强制类型转换
开发语言·c++
Mao_Hui8 分钟前
Unity3d实时读取Modbus RTU数据
开发语言·嵌入式硬件·unity·c#
echome8888 分钟前
Python 装饰器详解:从入门到精通的实用指南
开发语言·python
重生之后端学习14 分钟前
62. 不同路径
开发语言·数据结构·算法·leetcode·职场和发展·深度优先
冬夜戏雪17 分钟前
实习面经摘录(六)
java
把你毕设抢过来20 分钟前
基于Spring Boot的演唱会购票系统的设计与实现(源码+文档)
java·spring boot·后端
⑩-20 分钟前
Redis内存淘汰策略?如何处理大Key?
java·数据库·redis
淡泊if22 分钟前
eBPF 实战:一次诡异的 Nginx 高延迟,我用 5 分钟在内核里找到了真凶
java·运维·nginx·微服务·ebpf
栗子~~25 分钟前
hardhat 单元测试时如何观察gas消耗情况
开发语言·单元测试·区块链·智能合约