java标识符是程序员为变量、方法、类等元素命名的字符序列,必须由字母、数字、下划线或美元符组成,首字符不能为数字,不能是关键字、保留字或true/false/null,且严格区分大小写。

Java中的标识符,就是你给变量、方法、类、接口、包、常量这些程序元素起的“名字”。比如 int count = 10; 中的 count,public class UserService { } 中的 UserService,都是标识符。它不是语法结构本身,而是你在代码中用来指代某个具体东西的名称。
哪些字符能用、哪些绝对不能用
标识符由字母(a–z、A–Z,也包括中文等Unicode字母)、数字(0–9)、下划线(_)和美元符号($)组成——仅此四类。
- 首字符不能是数字:像 123abc、9name 直接编译报错
- 不能含空格、连字符(-)、点号(.)、@、#、%、+、© 等任何其他符号:如 user-name、my.name、data@id 都非法
- 可以含中文或日文等Unicode字符(如 姓名、年齢),但实际项目中极少使用,不推荐
这53个词碰都不能碰
Java有50个关键字(如 class、public、if、return)、2个保留字(goto、const)和3个字面量(true、false、null),共53个“禁用名”。它们已被语言固化用途,哪怕加下划线或大小写变化也不行。
- class 不行,Class 可以(大小写敏感,但易混淆,不建议)
- int 不行,intValue 可以(含关键字但非全匹配)
- true、Null、False 全部禁止——注意大小写不改变其禁用属性
大小写和长度的硬性事实
Java严格区分大小写:userName 和 username 是两个完全不同的标识符,可能引发逻辑错误或找不到符号的编译错误。
- 长度无语法限制,但JVM类文件对单个标识符长度上限为65535字节,超长会触发编译失败
- 虽然 $ 和 _ 合法,但人工命名应避免用 $(只留给编译器生成代码,如匿名内部类名 Outer$1)
- 单独一个下划线 _ 自Java 9起被明确禁止作为标识符(不再是合法名字)
命名规范不是红线,但踩了等于埋雷
不遵守不会报错,但会让团队协作和代码维护变得困难。
- 类/接口名:大驼峰,如 HttpClientFactory
- 变量/方法名:小驼峰,如 isConnected、calculateTotalPrice
- 常量(static final):全大写+下划线,如 DEFAULT_BUFFER_SIZE、API_TIMEOUT_MS
- 包名:全小写,多级用点分隔,如 com.example.auth.service
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











