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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贺志营

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值