final关键字
final是一个关键字,用于修饰类、方法和变量。
作用
它可以为Java程序员提供几种重要的功能,这些功能有助于创建更安全、更可预测的代码。
实现
- 修饰类:当final修饰一个类时,这个类就变成了最终类,不能被其他类继承。这有助于防止不恰当的类扩展,从而保护类设计的完整性和安全性。
final class FinalClass {
// 类定义...
}
// 下面的代码会报错,因为FinalClass是final的,不能被继承
class SubClass extends FinalClass {
// 子类定义...
}
- 修饰方法:当final修饰一个方法时,这个方法就变成了最终方法,不能被子类重写(override)。这有助于确保某些关键方法的行为在继承层次结构中是固定不变的。
class ParentClass {
public final void finalMethod() {
// 方法实现...
}
}
class ChildClass extends ParentClass {
// 下面的代码会报错,因为finalMethod是final的,不能被重写
public void finalMethod() {
// 重写的方法实现...
}
}
- 修饰变量:当final修饰一个变量时,这个变量的值就不能被改变。对于基本数据类型,这意味着变量的值本身不能被改变;对于引用类型,这意味着变量所引用的对象地址不能被改变,但对象的内容仍然可以变化。
final int finalVar = 10; // 基本类型,值不能改变
final StringBuilder finalStringBuilder = new StringBuilder("Hello"); // 引用类型,地址不能改变,但内容可以
// 下面的代码会报错,因为finalVar的值不能改变
finalVar = 20;
// 下面的代码不会报错,因为finalStringBuilder的内容可以改变
finalStringBuilder.append(" World");
4.常量:通过static final关键字的变量
通常用于系统配置信息