Java变量命名统一使用小驼峰(lowerCamelCase),首词全小写、后续单词首字母大写,禁用下划线;仅常量用UPPER_SNAKE_CASE;类名用UpperCamelCase,包名全小写。

Java 变量命名统一使用小驼峰命名法(lowerCamelCase),下划线命名法(snake_case)在 Java 中不用于普通变量,仅限常量等特定场景。
变量名必须用小驼峰
Java 规范明确要求变量(包括局部变量、实例变量、参数)采用小驼峰:首单词全小写,后续每个单词首字母大写,单词间无分隔符。
- ✅ 正确示例:
userName、maxRetryCount、isLoaded、httpResponseCode - ❌ 错误示例:
user_name(下划线)、UserName(大驼峰,属类名风格)、username(单个词虽可接受,但多词时必须体现边界)
下划线只用于常量和静态 final 字段
当变量被声明为 public static final,且值不可变时,才使用全大写下划线命名(UPPER_SNAKE_CASE)。
- ✅ 正确示例:
public static final int MAX_CONNECTIONS = 10; - ✅ 正确示例:
private static final String DEFAULT_ENCODING = "UTF-8"; - ⚠️ 注意:即使修饰符是
final但非static(如实例常量),仍应按变量规则用小驼峰,例如final String apiKey而非API_KEY
别混淆方法名和类名的风格
变量命名需与同层级元素保持语义区分:
立即学习“Java免费学习笔记(深入)”;
- 方法名也用小驼峰(如
getUserById()),与变量风格一致,但动词开头更常见 - 类名必须用大驼峰(UpperCamelCase),如
UserRepository、HttpClient,与变量明显区隔 - 包名全部小写,用点分隔(如
com.example.service),不出现下划线或大写
为什么不用下划线命名变量?
这不是语法限制,而是社区共识和规范强制要求:
- Java 官方编码指南(Oracle Java Code Conventions)及主流框架(Spring、Hibernate)均默认小驼峰
- IDE(如 IntelliJ)自动补全、重构、代码检查都基于该约定;用下划线会触发警告甚至阻断部分工具链
- 混合风格破坏可读性——比如
user_name和MAX_RETRY_COUNT同时出现,开发者需额外判断“这是变量还是常量?”


















