java如何定义常量
定义常量的方法
在Java中,常量通常通过static final关键字组合定义,确保其值不可修改且可通过类名直接访问。以下是几种常见的定义方式:
使用static final修饰符
public class Constants {
public static final int MAX_VALUE = 100;
public static final String DEFAULT_NAME = "UNKNOWN";
}
static表示该字段属于类而非实例,可直接通过类名访问。final确保变量赋值后不可重新修改。
接口中定义常量
public interface AppConstants {
double PI = 3.1415926; // 接口中默认是public static final
}
- 接口中的字段默认为
public static final,可省略修饰符。
枚举类实现常量
public enum Color {
RED("#FF0000"), GREEN("#00FF00");
private final String hexCode;
Color(String hexCode) {
this.hexCode = hexCode;
}
public String getHexCode() {
return hexCode;
}
}
- 枚举适合定义一组相关的常量,且可附加方法或属性。
命名规范
- 常量名通常全大写,单词间用下划线分隔(如
MAX_SIZE)。 - 需在声明时直接初始化,否则编译报错(
final变量必须赋值)。
注意事项
- 基本类型和字符串常量会被JVM优化,编译期可能直接替换为字面量。
- 若常量是对象引用(如
public static final List<Integer> NUMBERS = Arrays.asList(1, 2);),虽引用不可变,但对象内容可能被修改(需根据需求决定是否防御性拷贝)。







