Final 在 Java 中有什么作用?
在Java中,final
是一个关键字,用于声明最终的特性,它可以用于变量、方法、类等地方,具体作用有以下几个方面:
-
对于变量:
-
常量: 使用
final
关键字声明的变量表示常量,其值无法被修改。一旦被赋值,就不能再更改。final int MAX_VALUE = 100; // MAX_VALUE = 200; // 编译错误,无法修改 final 变量的值
-
不可重新赋值的引用: 对于引用类型变量,一旦引用被赋值后,就不能再指向其他对象。
final List<String> list = new ArrayList<>(); // list = new ArrayList<>(); // 编译错误,无法重新赋值引用 list.add("Item 1"); // 但可以修改对象的内容
-
-
对于方法:
-
不可重写: 使用
final
关键字修饰的方法表示该方法不能在子类中被重写。class Parent { final void finalMethod() { // some implementation } } class Child extends Parent { // 以下代码会导致编译错误,因为 finalMethod() 在 Parent 中已经被声明为 final // void finalMethod() { // // overridden implementation // } }
-
-
对于类:
-
不可继承: 使用
final
关键字修饰的类表示该类不能被继承。final class FinalClass { // class definition } // 以下代码会导致编译错误,因为 FinalClass 已经被声明为 final,无法被继承 // class Subclass extends FinalClass { // // subclass definition // }
-
final
的主要作用是提供程序的稳定性和安全性。通过使用 final
关键字,可以确保常量、方法或类的不可更改性,避免在程序的不同部分引入意外的修改。