面试官问你final、finally、finalize的区别

·  阅读 126

final

final关键字可以用来修饰变量,被修饰的变量为常量,一旦被定义就不能再被修改。

final double PI = 3.14;
复制代码

定义全局常量一般用public static final修饰

public static final double PI = 3.14;
复制代码

常量也可以通过枚举类型Enum进行定义

public enum MyEnum {

    MY_A(123),
    MY_B(456);

    private final int value;

    MyEnum(int value) {
        this.value = value;
    }

    public int getValue() {
        return value;
    }

    public static void main(String[] args) {
        System.out.println(MyEnum.MY_A.getValue());
    }
}
复制代码

final关键字可以用来修饰方法,被final修饰的方法不能被重写,被final修饰的方法执行效率高于非final方法。

final void eat() {
	System.out.println("I am final method");
}
复制代码

final关键字可以用来修饰类,被final修饰的类不能被继承,并且不能被改动。

final class Persion() {
}
复制代码

finally

finally是异常处理的一个块,无论程序是否发生异常,都会被执行。

try {
	// 程序代码块
} catch(Exception e) {
	// 对异常的处理
} finally {
	// 程序块
}
复制代码

finalize

finalize是一个方法,如果某个对象调用了该方法,就是该对象要被当作垃圾回收了。

分类:
后端
标签:
分类:
后端
标签:
收藏成功!
已添加到「」, 点击更改