跳到主內容

final 相關

final 是 Java 中的一个关键字,用于修饰变量、方法和类,表示其值或状态不可改变。使用 final 可以提高程序的安全性、可读性和性能,通常在以下情况下使用:

  1. 声明不可变常量

可以使用 final 关键字来声明不可变常量,一旦声明后,该常量的值就不能再被修改。这样可以避免程序中的常量被误修改,提高程序的健壮性。

public static final int MAX_NUM = 100;
  1. 防止继承和重写

可以使用 final 关键字来修饰一个类,表示该类不可被继承。同时,也可以修饰一个方法,表示该方法不可被子类重写。这样可以避免在继承和多态的过程中产生不可预知的行为,提高程序的稳定性和可维护性。

public final class MyClass {
    // 类定义
}

public class MySubClass extends MyClass {
    // 编译错误,无法继承 final 类
}

public class MyClass {
    public final void myMethod() {
        // 方法定义
    }
}

public class MySubClass extends MyClass {
    public void myMethod() {
        // 编译错误,无法重写 final 方法
    }
}
  1. 确保线程安全

可以使用 final 关键字来修饰一个变量,表示该变量只能被赋值一次,并且在多线程环境下是线程安全的。这样可以避免在多线程环境下出现竞争和数据不一致的问题,提高程序的并发性和稳定性。

public class MyClass {
    private final int num;

    public MyClass(int num) {
        this.num = num;
    }

    public int getNum() {
        return num;
    }
}
  1. 优化代码性能

可以使用 final 关键字来修饰一个变量,表示该变量的值在赋值后不再改变,并且该变量在运行时会被优化为常量,从而提高程序的性能。

public void myMethod(final int num) {
    // 方法定义
}

在上述示例中,我们使用 final 关键字来修饰了常量、类、方法和变量,分别达到了不同的目的。使用 final 可以提高程序的健壮性、稳定性、可读性和性能,是 Java 编程中的重要特性之一。