final、finally、finalize区别

一、final

(1) 声明(最终类),类不可以被继承

(2) 声明方法(最终方法),子类不可以重写,当前类不可以重载

(3) 声明基本数据类型,值不可以改变;引用数据类型,可以改变值,但是不可以开辟新的内存空间地址。

二、finally

正常情况下,不论是否抛出或捕获异常finally块都会执行

三、finalize

finalize()方法由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在Object 类中定义的,因此,所有类都继承了它。finalize()方法是在垃圾收集器删除对象之前被自动调用的。

四、练习题
1.(多选) final、finallymfinalize的区别中,下述说法正确的有 (A B C D)
A: final用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
B: finally号异常处理洁句结枸的一部分,表示总导执行。
C: finalize号Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源的回收,例如关闭文件。
D:引用变量被final修饰之后,不能再指向其他对象,它指向的对象的内容也是不可变的

你可能感兴趣的:(java小白之旅,jvm,java,开发语言,算法,eclipse)