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

© 刘源 中级黑马   /  2012-8-6 11:01  /  1542 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 刘源 于 2012-8-6 13:28 编辑

final, finally, finalize的区别?

问题已经解决”。

3 个回复

倒序浏览
final是全局变量声明的时候使用,意思是这个变量不可被修改,不可被override,一般用于声明常量,或者系统设置的值。

finally是在try-catch-finally块中配套使用,作用是,不管代码执行了try还是catch,最后一定会执行finally里面的代码。

finalize是召唤垃圾收集器的命令,使用后,系统就安排一次垃圾回收,但是不是立即执行,执行的时间点是无法确定的。
回复 使用道具 举报
final是个修饰符,被final修饰的成员变量就相当于是个常量,赋初值后不能再改变,被final修饰的类不能被继承,没有子类。final方法不能被子类覆盖,但可以被继承。final不能用于修饰构造方法。

finally主要是在异常中使用的,和try,catch配合使用,用于执行try或catch语句之后必须后执行的代码,一般是用于释放资源的。如果finally前面没有System.exit(0);语句强行结束JVM就一定会执行。

finalize这是个方法,一般是用在System.gc()之前的,在JVM回收垃圾对象之前执行一些想要执行的程序。
回复 使用道具 举报
final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。  内部类要访问局部变量,局部变量必须定义成final类型,例如,一段代码……
finally是异常处理语句结构的一部分,表示总是执行。
finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。JVM不保证此方法总被调用
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马