Java 常量与final关键字
final 表示"最终的",被修饰的内容不可更改。
final 修饰变量
被修饰的变量只能赋值一次,成为常量。
Java
final int MAX_SIZE = 100; // 常量命名建议全大写
final String APP_NAME = "Demo";
MAX_SIZE = 200; // 编译错误,不可重新赋值
初始化时机
Java
// 方式1:声明时初始化
final int A = 10;
// 方式2:构造方法初始化
final int B;
public Demo() {
B = 20;
}
// 方式3:代码块初始化
final int C;
{
C = 30;
}
final 修饰方法
被修饰的方法不能被子类重写。
Java
public class Parent {
public final void show() {
System.out.println("Parent");
}
}
public class Child extends Parent {
// @Override
// public void show() {} // 编译错误,不可重写
}
final 修饰类
被修饰的类不能被继承。
Java
public final class Utils {
// 工具类
}
// public class MyUtils extends Utils {} // 编译错误
引用类型与final
Java
final int[] arr = {1, 2, 3};
arr[0] = 100; // 允许,修改数组元素
// arr = new int[5]; // 编译错误,不能重新赋值引用
final 修饰引用类型时,引用不可变,但对象内容可变。
要点总结
- final 变量:只能赋值一次
- final 方法:不能被重写
- final 类:不能被继承
- 常量命名规范:全大写,单词间用下划线
📝 发现内容有误?点击此处直接编辑