如何定义常量java
定义常量的方法
在Java中,常量通常指不可变的值,可以通过final关键字定义。常量的命名规范为大写字母和下划线组合(如MAX_VALUE)。
使用final关键字
final int MAX_SPEED = 120;
final String APPLICATION_NAME = "MyApp";
final修饰的变量必须在声明时或构造函数中初始化。- 基本数据类型(如
int、double)的常量值不可更改。 - 引用类型的常量(如
String)不可指向其他对象,但对象内部状态可能可变(除非对象本身不可变,如String)。
静态常量(类常量)
通过static final定义类级别的常量,通常用于全局共享:
public class Constants {
public static final double PI = 3.14159;
public static final String DEFAULT_COUNTRY = "USA";
}
- 通过
Constants.PI直接访问,无需实例化类。
枚举常量
对于一组固定值,使用enum更安全:

public enum Day {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY
}
- 枚举类型天然不可变,且提供类型安全检查。
注意事项
- 常量命名应清晰表达用途,避免魔法数字。
- 对于集合类常量,需确保内容不可变(如使用
Collections.unmodifiableList)。 - 多线程环境下,常量默认是线程安全的(因为不可变)。






