0
点赞
收藏
分享

微信扫一扫

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


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是一个方法,如果某个对象调用了该方法,就是该对象要被当作垃圾回收了。



举报

相关推荐

0 条评论