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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 曹思敏 中级黑马   /  2013-6-8 11:26  /  1901 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

final, finally, finalize之间的区别。

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

6 个回复

倒序浏览
final用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
finally是异常处理语句结构的一部分,表示总是执行。
finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
Final是一个修饰符,可以修饰类,方法,变量。
(1)被final修饰的类是一个最终类,不可以被继承。(2)被final修饰的方法是一个最终方法,不可以被覆盖。
(3)被final修饰的变量是一个常量,只能赋值一次。

finally是异常处理方法中的一部分,finally代码的块中的数据一定会被执行
而楼主说的finalize它是“上帝”object中的一个方法,具体我没有用过

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
楼主你好  如果帖子的问题已经解决,请把帖子的类型改为“已解决”。{:soso_e102:}
回复 使用道具 举报
1、final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
内部类要访问局部变量,局部变量必须定义成final类型;
2、finally是异常处理语句结构的一部分,表示总是执行。
3、finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。JVM不保证此方法总被调用
回复 使用道具 举报
  final 可以修饰变量(静态变量,非静态变量),方法的参数,方法,类
  被final修饰的静态变量不能再非静态代码块中初始化
  被final修饰的非静态变量不能在静态代码块当中初始化
  被final修饰的非静态变量可以在构造器当中初始化,但被final修饰的静态变量则不能在构造器当中初始化
  被final修饰的方法的参数,不能被修改,否则编译错误
  被final修饰的类不能被继承
  被final修饰的方法不能被重写

  finally只能用在try/catch语句中,并且附带一个语句块,表示这段语句总是被执行

  finalize,该方法是属于Object类的,所以所有类都拥有该方法,在垃圾收集器(garbage collector)删除对象的时候,调用该方法
回复 使用道具 举报
楼主您好.如果问题得到解决的话.请及时改成已解决哦~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马