java中final static修饰的静态常量必须用全大写加下划线命名,因官方规范明确要求,可清晰标识其不可变性和编译期常量语义,便于识别和维护;命名需准确表达业务含义,避免缩写歧义;仅适用于编译期确定值,运行时初始化的应按普通变量命名。

Java 中用 final static 修饰的静态常量,推荐使用全大写、下划线分隔的命名方式(即 UPPER_SNAKE_CASE)。
为什么必须用大写字母加下划线?
这是 Java 官方编码规范(如 Oracle Code Conventions 和 Google Java Style Guide)明确建议的约定。它能清晰传达“这是一个不可变的编译期常量”,让其他开发者一眼识别其语义和用途,避免误以为是普通静态变量或可变字段。
命名要体现含义,不能只用缩写
名称需准确表达常量所代表的业务或技术含义,避免过度简写导致歧义:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
- ✅ 推荐:
PAGE_SIZE、DEFAULT_TIMEOUT_MS、MAX_RETRY_ATTEMPTS - ❌ 避免:
PS、DT、MRA(含义模糊,难以维护)
注意区分普通 static 变量和真正常量
只有同时满足 static + final + 编译期可确定值(如字面量、常量表达式),才适用这种命名风格。如果只是 static final 但初始化依赖运行时(如 new Date() 或方法调用),严格来说不算“常量”,此时建议按普通变量命名(如 camelCase),避免误导:
- ✅
public static final int MAX_CONNECTIONS = 100;→ 命名为MAX_CONNECTIONS - ⚠️
public static final Date START_TIME = new Date();→ 不建议叫START_TIME,更合适的是startTime(小驼峰)
包级常量与类内常量统一处理
无论常量定义在工具类(如 Constants.java)、配置类还是普通业务类中,只要它是 public static final 且值恒定,都应遵守同一套命名规则。私有常量(private static final)也建议遵循,提升代码一致性。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










