您的位置:首页 > 其它

final,finalize,finally的区别

2017-09-02 16:07 736 查看
final:

1、final修饰类,那么这个类就是最终类,该类中的所有方法都不能被重写。

但是final类中的成员变量是可以改变的,要想final类中的成员变量的不可以改变,必须给成员变量添加final修饰。

2、final修饰方法,那么这个方法是最终方法,不允许任何子类重写该方法,但子类仍可以使用该方法,

注意:final参数用来表示这个参数在这个函数内部不允许被修改。

3、final修饰属性,被final修饰的变量不可变。这里的不可变有两重含义:引用不可变对象不可变

final指的是引用不可变,即它只能指向初始化时指向的那个对象,而不关心指向对象内容的变化。

因此,被final修饰的变量必须初始化,该变量其实就是常量。

finally:

作为异常处理的一部分,只能用在try/catch语句快中,finally代码块中的语句一定会被执行,经常被用来释放资源,

如IO流和数据库资源的释放。

finalize:

Object类的一个方法,该方法在Object类中声明:
        protected void finalize() throwsThrowable { }

在垃圾回收器执行时会调用被回收对象的finalize()方法,可以覆盖此方法来实现对其资源的回收。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: