final、finally、三个关键字的区别
2024-08-30 08:17:35
一 final
如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在new一个对象时初始化(即只能在声明变量或构造器或代码块内初始化),而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能覆盖(重写)。
二 finally
在异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。
三 finalize
方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。注意:finalize不一定被jvm调用,只有当垃圾回收器要清除垃圾时才被调用。
最新文章
- ORACLE序列号
- ThinkPHP学习遇到的点问题(学习中,持续更新)
- 【stut 逆置正整数】
- (转)初探Backbone
- Go语言TCP/UDP Socket编程
- Quartz任务调度快速入门
- spring的依赖注入的最常见的两种方法
- hdu 3062 2-sat入门题
- Mysql中的DQL查询语句
- 你想建设一个能承受500万PV/每天的网站吗?如果计算呢?(转)
- ItextSharp代码示例
- MATLAB符号极限、导数及级数求和
- web.config中httpModules和Modules的区别
- 通过业务系统的重构实践DDD
- 深入浅出低功耗蓝牙(BLE)协议栈
- 高端技巧:如何使用#define定义变量
- Linux权限管理(week1_day5)--技术流ken
- [Swift]LeetCode219. 存在重复元素 II | Contains Duplicate II
- JS学习笔记Day2
- [UGUI]图文混排(三):资源管理