final,finally,finalize区别

final(终结器)

  • 修饰类,方法,属性
  • 使用final定义的类不能有子类(String类就是使用final定义的)
  • 当一个类被final定义后,其所有的方法都默认被final修饰(不包含成员变量)
  • 使用final定义的方法不能被子类覆写
  • final修饰的成员变量必须在声明时初始化或者在构造器中初始化,否则会报编译错误
  • 使用final定义的变量就成为了常量,常量必须在声明时赋值,并且不能够被修改

finally

  • 异常体系中,保持重要的代码一定执行例如:流的关闭,数据库的关闭

finalize

  •  finalize是Object类的一个方法
  • finalize方法只能被调用一次也就是说覆盖了finalize方法的对象需要经过两个GC周期才能被清除
  • 在垃圾收集器执行的时候会调用被回收对象的此方法。 在对象被从内存中清理出去之前,做必要的清理工作

猜你喜欢

转载自blog.csdn.net/weixin_43573534/article/details/90140845