A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 七弦 中级黑马   /  2014-5-27 11:35  /  3286 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

final,finally和finalize三者之间的区别:

final—修饰符(关键字)

如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。

因此一个类不能既被声明为abstract的,又被声明为final的。

将变量或方法声明为final,可以保证它们在使用中不被改变。

被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。

被声明为final的方法也同样只能使用,不能重载。


finally—再异常处理时提供finally块来执行任何清除操作

如果抛出一个异常,那么相匹配的catch子句就会执行,然后控制就会进入finally块(如果有的话)。


finalize—方法名

Java技术允许使用finalize()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。

这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。

它是在Object类中定义的,因此所有的类都继承了它。

子类覆盖finalize()方法以整理系统资源或者执行其他清理工作。

finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。

7 个回复

倒序浏览
感谢分享~
回复 使用道具 举报
final 修饰用的关键字finally 异常返回时用的。finalize 垃圾回收里的。。很简单吧 哈哈
回复 使用道具 举报
我还是不懂最后一个的用法,能有个实例该多好!
回复 使用道具 举报
学习学习
回复 使用道具 举报
finalize()方法在编写程序的时候是不是很少用到
回复 使用道具 举报
思维 高级黑马 2014-7-21 14:36:40
7#
不错!finalize()方法确实很少了解
回复 使用道具 举报
final 关键字    被他修饰的类不能被继承,被他修饰的方法不能被重写,被他修饰的变量时常量、

finally关键字   在try catch中使用,通常用于关闭资源

finalize()是方法 是Object方法,被java虚拟机调用,清除垃圾。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马