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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 赵玮 黑马帝   /  2011-12-26 11:18  /  2163 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 赵玮 于 2011-12-27 21:50 编辑

final, finally, finalize有什么区别?谢谢

评分

参与人数 1技术分 +1 收起 理由
吴上储 + 1

查看全部评分

5 个回复

正序浏览
不是把,怎么这样的问题还在问呢?无语~
论坛里明明有答案的,这样的问题可以得到技术分的机会太少了。
回复 使用道具 举报
final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为   abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。   

  finally—再异常处理时提供   finally   块来执行任何清除操作。如果抛出一个异常,那么相匹配的   catch   子句就会执行,然后控制就会进入   finally   块(如果有的话)。

  finalize—方法名。Java   技术允许使用   finalize()   方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在   Object   类中定义的,因此所有的类都继承了它。子类覆盖   finalize()   方法以整理系统资源或者执行其他清理工作。finalize()   方法是在垃圾收集器删除对象之前对这个对象调用的。

评分

参与人数 1技术分 +1 收起 理由
吴上储 + 1

查看全部评分

回复 使用道具 举报
final 修饰用的关键字
finally 异常返回时用的。
finalize 垃圾回收里的
回复 使用道具 举报
于冰 黑马帝 2011-12-26 14:10:46
藤椅
final 修饰变量时表示该变量一旦获取初始值后就不可被改变。例如圆周率,重力加速度等。
final修饰的方法不可以被重写,常常用于修饰“不希望被子类重写”的父类的方法。
final修饰的类不可以有子类,例如java.lang.Math类就是一个final类。
finally是在异常处理机制中修饰某段代码,被修饰的代码块一定要被执行。除非在try块或者catch块中调用了退出虚拟机的方法,否则无论try和catch块中的代码是个什么情况,异常处理的finally块总会被执行。
finalize-方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。 (见finalize的百度百科)

评分

参与人数 1技术分 +1 收起 理由
吴上储 + 1

查看全部评分

回复 使用道具 举报
final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
finally是异常处理语句结构的一部分,表示总是执行。
finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源

善用论坛搜索!!

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马