final
在 java 中有什么作用?
修饰变量
- 修饰基本数据类型变量:
- 当用final修饰基本数据类型变量时,该变量就变成了常量,其值在初始化后不能被改变。
final int num = 10;
- 修饰引用类型变量:
- final修饰引用类型变量时,该引用不能再指向其他对象,但对象本身的内容是可以改变的。
final StringBuilder strBuilder = new StringBuilder("Hello");
strBuilder.append(" World");
修饰方法
- 当一个方法被final修饰时,这个方法不能在子类中被重写
- 确保该方法的行为在继承体系中是固定的,不会被意外修改
class Base {
final void someMethod() {
System.out.println("This method cannot be overridden.");
}
}
class Derived extends Base {
}
修饰类
- 用final修饰的类不能被继承
- 该类的功能是固定的,不能被扩展
java.lang.String
类就是final类,以确保字符串的核心行为不会被意外改变
final class FinalClass {
}
总结
- final关键字在Java中用于创建不可变的类、不可重写的方法以及不可变的变量(常量)。
- 使用final可以提供额外的安全性,确保某些重要的值或行为不会被意外或恶意地更改。