浅谈final、finally、finalize的区别
2016-06-13 20:11
281 查看
一。final
如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在new一个对象时初始化(即只能在声明变量或构造器或代码块内初始化),而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能覆盖(重写)。二。finally
在异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。三。finalize
方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。注意:finalize不一定被jvm调用,只有当垃圾回收器要清除垃圾时才被调用。相关文章推荐
- spring data jpa 解释
- [Intellij IDEA]_eclipse项目导入
- select value from v$diag_info where name='Default Trace File';
- select value from v$diag_info where name='Default Trace File';
- 第15周程序阅读6
- 分布式数据库
- AJAX
- Solr优化案例分析
- 分布式与集群
- spark 1.6.1安装
- 猜数字游戏
- Android ViewPager的适配器PagerAdapter的一般写法
- 【Leetcode】355. Design Twitter
- ANR in an IntentService with its own process
- hdu 5444 继续二叉查找树
- 通过maven-shade-plugin 解决Elasticsearch与hbase的jar包冲突问题
- cpp的json的用法举例
- HDU 3465 线段树
- POJ-2253 Frogger( 最短路 )
- Java用数组实现顺序队列