美文网首页
技术问 - final、finally和finalize有什么区

技术问 - final、finally和finalize有什么区

作者: sexyhair | 来源:发表于2019-03-06 23:14 被阅读0次
final

final关键字是最终的意思,可修饰类,成员变量,成员方法,参数

修饰类:类不能被继承
修饰方法:方法不能被重写
修饰变量:必须初始化,
    变量是基本类型:值不能更改
    变量是引用类型:内存地址值不能修改

被final修饰的变量必须初始化,初始化的方式有以下几种

  • 在定义的时候初始化

  • 成员变量可以在初始化块中初始化,但不可在静态初始化块中初始化

  • static final 成员变量可以在静态初始化块中初始化,但不可在初始化块中初始化

  • 在类的构造器中初始化,但static final 成员变量不可在构造函数中初始化

finally

finally是异常处理的一部分,只能用在try/catch语句中,并且附带一个语句块,表示这段语句一定会执行,经常被用在需要释放资源的情况下

finalize

finalize是Object类的一个方法,在垃圾回收器执行时会调用被回收对象的finalize(),可以重写此方法来实现对其他资源的回收。需要注意的是,一旦垃圾回收器准备好释放对象占用的空间,将首先调用其finalize(),并且在下一次垃圾回收动作发生时才会真正回收对象占用内存。

相关文章

网友评论

      本文标题:技术问 - final、finally和finalize有什么区

      本文链接:https://www.haomeiwen.com/subject/squfpqtx.html