Final关键字

128 阅读2分钟

Final关键字

final关键字是最终的意思,可以修饰类 修饰方法 修饰变量

  • final修饰类:该类称为最终类,特点是不能被继承
  • final修饰方法:该方法称之为最终方法,特点是不能被重写。
  • final修饰变量:该变量只能被赋值一次。

当一个类被final修饰时,它不能被继承。当一个方法被final修饰时,它不能被重写。当一个变量被final修饰时,它成为一个常量,值不能被修改。以下是一个示例,展示了在Java中如何使用final关键字修饰类、方法和变量:

final class FinalClass {
    final int constantVariable = 10;

    final void finalMethod() {
        System.out.println("这是一个final方法");
    }
}

public class Main {
    public static void main(String[] args) {
        FinalClass obj = new FinalClass();
        System.out.println(obj.constantVariable);  // 输出:10
        obj.finalMethod();  // 输出:这是一个final方法

        // 尝试继承final类,会导致编译错误
        // class SubClass extends FinalClass { }

        // 尝试重写final方法,会导致编译错误
        // class SubClass extends FinalClass {
        //     void finalMethod() { }
        // }

        // 尝试修改final变量的值,会导致编译错误
        // obj.constantVariable = 20;
    }
}

在上面的示例中,FinalClass类被final修饰,因此不能被继承。constantVariable变量被final修饰,因此它成为了一个常量,值为10,且不能被修改。finalMethod()方法被final修饰,因此它不能被重写。

main方法中,我们创建了FinalClass类的对象obj,并使用它来访问常量变量和调用finalMethod()方法。我们也展示了尝试继承final类和重写final方法的错误示例,以及尝试修改final变量值的错误示例。这些操作都会导致编译错误。

总结:使用final关键字可以修饰类、方法和变量,通过它可以提供类的不可继承性、方法的不可重写性和变量的不可修改性。final关键字可以增强代码的安全性、封装性和可维护性。

总结: final关键字用于修饰类、方法和变量,其特点是类不能被继承、方法不能被重写、变量的值不能被修改。通过使用final可以实现代码的安全性、封装性和线程安全性,并提供清晰的代码语义。