使用static final定义静态常量,属于类级别且值不可变,命名用大写字母加下划线,如public static final int MAX_USERS = 100;常量在类加载时初始化,可声明时赋值或在静态代码块中初始化;适用于配置参数、状态码等固定值,建议public访问,私有则用private,基本类型和字符串适合作常量,引用类型需注意对象内部状态不变性,命名应清晰便于维护。

在Java中定义静态常量,通常使用 static 和 final 关键字组合。这样可以确保该变量属于类级别,并且值不可更改。
使用 static final 定义静态常量
静态常量一般用大写字母命名,多个单词之间用下划线分隔,这是Java的命名规范。
示例:
public class Constants {
public static final int MAX_USERS = 100;
public static final String APP_NAME = "MyApp";
}
在这个例子中,MAX_USERS 和 APP_NAME 是静态常量,可以在不创建对象的情况下通过类名访问:Constants.MAX_USERS。
常量的初始化时机
静态常量在类加载时初始化,且只能赋值一次。可以在声明时直接赋值,也可以在静态代码块中初始化,尤其是当初始化逻辑较复杂时。
立即学习“Java免费学习笔记(深入)”;
示例:在静态代码块中初始化
public class Config {
public static final String VERSION;
static {
VERSION = "v1.0." + System.getProperty("build.number", "0");
}
}
常见用途和注意事项
静态常量常用于配置参数、状态码、数学常数等固定值。
- 建议将常量声明为 public static final,以便其他类访问
- 如果是私有的常量,使用 private static final
- 基本类型和字符串适合做常量,引用类型要小心,final 只保证引用不变,不保证对象内部状态不变
- 常量命名应清晰表达其含义,便于维护









