黑马程序员技术交流社区

标题: final,finally和finalize三者之间的区别 [打印本页]

作者: 七弦    时间: 2014-5-27 11:35
标题: final,finally和finalize三者之间的区别
final,finally和finalize三者之间的区别:

final—修饰符(关键字)

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

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

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

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

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


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

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


finalize—方法名

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

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

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

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

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


作者: 李小然    时间: 2014-5-27 12:03
感谢分享~
作者: 尘埃落定    时间: 2014-5-27 23:02
final 修饰用的关键字finally 异常返回时用的。finalize 垃圾回收里的。。很简单吧 哈哈
作者: yinxjfly    时间: 2014-5-27 23:36
我还是不懂最后一个的用法,能有个实例该多好!
作者: 钟翠翠    时间: 2014-7-15 14:51
学习学习
作者: haohanlinyu    时间: 2014-7-15 21:39
finalize()方法在编写程序的时候是不是很少用到
作者: 思维    时间: 2014-7-21 14:36
不错!finalize()方法确实很少了解
作者: 严晗哲    时间: 2015-5-31 19:53
final 关键字    被他修饰的类不能被继承,被他修饰的方法不能被重写,被他修饰的变量时常量、

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

finalize()是方法 是Object方法,被java虚拟机调用,清除垃圾。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2