final关键字用于限制变量、方法和类的修改:1. 修饰变量时值不可变,基本类型值不变,引用类型地址不变;2. 修饰方法时子类不能重写;3. 修饰类时不能被继承,如String类。

final 是 Java 面向对象编程中的一个重要关键字,它可以用于变量、方法和类,用来限制某些行为,提高程序的安全性和稳定性。下面详细介绍 final 关键字的三种用法。
当 final 修饰一个变量时,该变量只能被赋值一次,之后不能再修改,相当于常量。
● 对于基本数据类型,final 保证其值不能改变。示例:
final int MAX_COUNT = 100;
MAX_COUNT = 200; // 编译错误!不允许重新赋值
final List
list.add("hello"); // 允许:对象内容可变
list = new ArrayList(); // 编译错误!引用地址不能变
final 变量通常配合 static 使用,定义类级别的常量:
立即学习“Java免费学习笔记(深入)”;
public static final double PI = 3.14159;
当一个方法被 final 修饰时,子类不能覆盖(override)该方法。
这通常用于防止关键逻辑被篡改,确保父类行为的完整性。
示例:
class Parent {
public final void display() {
System.out.println("This method cannot be overridden");
}
}
class Child extends Parent {
// void display() {} // 编译错误!不能重写 final 方法
}
当一个类被 final 修饰时,它不能被其他类继承。
这常用于设计不可变类或安全敏感类,如 Java 中的 String 类就是 final 的。
示例:
final class MathUtils {
public static int add(int a, int b) {
return a + b;
}
}
// class MyMath extends MathUtils { } // 编译错误!不能继承 final 类
注意:final 类中的所有方法也自动具备 final 特性(虽然不是强制声明),因为类无法被继承,自然也无法重写方法。
基本上就这些。理解 final 的三种用法有助于写出更安全、更清晰的 Java 代码。关键是根据场景选择合适的使用方式,避免滥用。
以上就是Java OOP final关键字的三种用法详解的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号