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

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

1. final:

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

2. finalize:

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

3. finally:

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

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

相关推荐
DoraBigHead36 分钟前
小哆啦解题记——两数失踪事件
前端·算法·面试
AI+程序员在路上41 分钟前
Qt6中模态与非模态对话框区别
开发语言·c++·qt
胚芽鞘6815 小时前
关于java项目中maven的理解
java·数据库·maven
nbsaas-boot6 小时前
Java 正则表达式白皮书:语法详解、工程实践与常用表达式库
开发语言·python·mysql
岁忧6 小时前
(LeetCode 面试经典 150 题 ) 11. 盛最多水的容器 (贪心+双指针)
java·c++·算法·leetcode·面试·go
chao_7896 小时前
二分查找篇——搜索旋转排序数组【LeetCode】两次二分查找
开发语言·数据结构·python·算法·leetcode
CJi0NG6 小时前
【自用】JavaSE--算法、正则表达式、异常
java
风无雨6 小时前
GO 启动 简单服务
开发语言·后端·golang
Hellyc6 小时前
用户查询优惠券之缓存击穿
java·redis·缓存
斯普信专业组6 小时前
Go语言包管理完全指南:从基础到最佳实践
开发语言·后端·golang