黑马程序员技术交流社区

标题: 有什么不同;区别在在于? [打印本页]

作者: 曹思敏    时间: 2013-6-8 11:26
标题: 有什么不同;区别在在于?
final, finally, finalize之间的区别。
作者: w270307032    时间: 2013-6-8 12:17
final用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
finally是异常处理语句结构的一部分,表示总是执行。
finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。
作者: 不破大地    时间: 2013-6-8 14:10
Final是一个修饰符,可以修饰类,方法,变量。
(1)被final修饰的类是一个最终类,不可以被继承。(2)被final修饰的方法是一个最终方法,不可以被覆盖。
(3)被final修饰的变量是一个常量,只能赋值一次。

finally是异常处理方法中的一部分,finally代码的块中的数据一定会被执行
而楼主说的finalize它是“上帝”object中的一个方法,具体我没有用过
作者: 袁梦希    时间: 2013-6-9 15:02
楼主你好  如果帖子的问题已经解决,请把帖子的类型改为“已解决”。{:soso_e102:}
作者: Heart    时间: 2013-6-13 13:57
1、final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
内部类要访问局部变量,局部变量必须定义成final类型;
2、finally是异常处理语句结构的一部分,表示总是执行。
3、finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。JVM不保证此方法总被调用

作者: 郑晓飞    时间: 2013-6-13 15:55
  final 可以修饰变量(静态变量,非静态变量),方法的参数,方法,类
  被final修饰的静态变量不能再非静态代码块中初始化
  被final修饰的非静态变量不能在静态代码块当中初始化
  被final修饰的非静态变量可以在构造器当中初始化,但被final修饰的静态变量则不能在构造器当中初始化
  被final修饰的方法的参数,不能被修改,否则编译错误
  被final修饰的类不能被继承
  被final修饰的方法不能被重写

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

  finalize,该方法是属于Object类的,所以所有类都拥有该方法,在垃圾收集器(garbage collector)删除对象的时候,调用该方法
作者: 孙百鑫    时间: 2013-6-14 05:09
楼主您好.如果问题得到解决的话.请及时改成已解决哦~




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