Java 面试常见问题之——final,finalize 和 finally 的不同之处

Java 面试常见问题之------final,finalize 和 finally 的不同之处

1. final:

  • 是一个关键字,可以修饰变量、方法和类。
  • 修饰变量时,表示该变量的值一旦被初始化就不能被修改。
  • 修饰方法时,表示该方法不能被重写。
  • 修饰类时,表示该类不能被继承。

2. finalize:

  • 是 Object 类中的一个方法。
  • 垃圾回收器在回收对象之前会调用该方法,用于进行一些清理操作,但不能保证一定会被调用,也不建议过度依赖它来进行资源清理。

3. finally:

  • 通常与 try-catch 语句一起使用。
  • 无论 try 块中的代码是否发生异常,finally 块中的代码都会被执行,常用于释放资源等必须要执行的操作。

综上所述,final 用于修饰变量、方法和类,finalize 是对象销毁前可能被调用的方法,finally 用于确保特定代码块无论如何都会执行。

相关推荐
砍材农夫1 天前
spring-ai 第四多模态API
java·人工智能·spring
她说..1 天前
Java 对象相关高频面试题
java·开发语言·spring·java-ee
watson_pillow1 天前
c++ 协程的初步理解
开发语言·c++
庞轩px1 天前
深入理解 sleep() 与 wait():从基础到监视器队列
java·开发语言·线程··wait·sleep·监视器
故事和你911 天前
洛谷-算法1-2-排序2
开发语言·数据结构·c++·算法·动态规划·图论
皮皮林5511 天前
面试官:ZSet 的底层实现是什么?
java
码云数智-大飞1 天前
C++ RAII机制:资源管理的“自动化”哲学
java·服务器·php
2601_949816581 天前
Spring+Quartz实现定时任务的配置方法
java
白毛大侠1 天前
理解 Go 接口:eface 与 iface 的区别及动态性解析
开发语言·网络·golang
李昊哲小课1 天前
Python办公自动化教程 - 第7章 综合实战案例 - 企业销售管理系统
开发语言·python·数据分析·excel·数据可视化·openpyxl