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();
    }
}
相关推荐
三体世界11 分钟前
TCP传输控制层协议深入理解
linux·服务器·开发语言·网络·c++·网络协议·tcp/ip
Java技术小馆13 分钟前
langChain开发你的第一个 Agent
java·面试·架构
kangkang-14 分钟前
PC端基于SpringBoot架构控制无人机(二):MavLink协议
java·spring boot·后端·无人机
Dcs25 分钟前
Anthropic 爆严重安全漏洞!程序员机器沦陷
java
随心点儿32 分钟前
使用python 将多个docx文件合并为一个word
开发语言·python·多个word合并为一个
不学无术の码农36 分钟前
《Effective Python》第十三章 测试与调试——使用 Mock 测试具有复杂依赖的代码
开发语言·python
tomcsdn3141 分钟前
SMTPman,smtp的端口号是多少全面解析配置
服务器·开发语言·php·smtp·邮件营销·域名邮箱·邮件服务器
EnigmaCoder1 小时前
Java多线程:核心技术与实战指南
java·开发语言
攀小黑1 小时前
阿里云 使用TST Token发送模板短信
java·阿里云
麦兜*1 小时前
Spring Boot秒级冷启动方案:阿里云FC落地实战(含成本对比)
java·spring boot·后端·spring·spring cloud·系统架构·maven