Java经典面试高频题目---- final finaly finalize区别?

一:Final

    修饰类:这个类不能被继承 修饰方法: 该方法不能被重写,但是可以被重载 修饰变量

(1):修饰成员变量

    修饰类变量(静态变量):只能在静态初始化块中指定初始值或者申明该类变量时指定初始值。 修饰成员变量:可以在非静态初始化块中或者在构造器中赋初始值。

(2):修饰局部变量

    既可以在申明时指定默认值,也可以不指定默认值,在后面对final变量赋初值(只能赋一次)

(3).修饰基本数类型和引用数据类型

    修饰基本数据类型时,其数值一旦初始化后就不能改变。 修饰引用数据类型时,初始化后便不能让其指向另外一个对象(但是应用的值是可以变化的)

二:Finaly:

    finaly在try...catch中使用,程序先执行try代码块中的内容,如果不发生异常,执行finaly中代码,但是如果发生异常,则执行catch中的代码,最后再执行finaly中代码。综合以上,finally中的代码无论是否发生异常,都要执行,因此可以做一些释放资源的功能。

三:Finalize

    finalize,是Object超类中的方法,垃圾回收器中在销毁对象时调用的一个方法,通过重写finalize() 方法可以整理系统资源或者执行其他清理工作。
经验分享 程序员 微信小程序 职场和发展