java中如何定义常量
在Java中,定义常量通常通过final关键字结合static实现,以确保不可变性和全局访问性。以下是几种常见的方式:
使用final和static修饰的类变量
public class Constants {
public static final int MAX_VALUE = 100;
public static final String DEFAULT_NAME = "Unknown";
}
final确保变量不可修改。static允许通过类名直接访问(如Constants.MAX_VALUE)。
枚举类型(Enum)
适用于一组固定的常量值:
public enum Color {
RED, GREEN, BLUE
}
- 枚举常量天然不可变且类型安全。
接口中的常量(不推荐)
public interface Constants {
String API_KEY = "secret";
int TIMEOUT = 30;
}
- 接口中的字段默认是
public static final,但这种方式违反了接口的设计初衷(应定义行为而非状态)。
注意事项
- 命名规范:常量名通常全大写,单词间用下划线分隔(如
MAX_HEIGHT)。 - 线程安全:基本类型和不可变对象(如
String)的常量天然线程安全。 - 内存分配:
static final常量在类加载时初始化,存储在方法区。







