Java 类名中的有效字符

Java 类名中哪些字符有效?还有哪些规则控制 Java 类名(例如,Java 类名不能以数字开头)?


答案 1

您几乎可以拥有任何字符,包括大多数 Unicode 字符!确切的定义在 Java 语言规范的第 3.8 节:标识符中

标识符是无限长度的 Java 字母Java 数字序列,其中第一个必须是 Java 字母。...

字母和数字可以从整个Unicode字符集中提取,...这允许程序员在其程序中使用用其母语编写的标识符。

标识符不能具有与关键字 (§3.9)、布尔文本 (§3.10.3) 或空文本 (§3.10.7) 相同的拼写(Unicode 字符序列),否则会发生编译时错误。

但是,请参阅此问题,了解是否应该这样做。


答案 2

对于允许您使用的名称类型,每种编程语言都有自己的一套规则和约定,Java编程语言也不例外。命名变量的规则和约定可以总结如下:

  • 变量名称区分大小写。变量的名称可以是任何合法标识符 — 长度不限的 Unicode 字母和数字序列,以字母开头、美元符号“$”或下划线字符“_”。但是,惯例是始终以字母开头的变量名称,而不是“$”或“_”。此外,按照惯例,美元符号字符根本不使用。您可能会发现在某些情况下,自动生成的名称将包含美元符号,但您的变量名称应始终避免使用它。下划线字符也存在类似的约定;虽然以“_”开头的变量名称在技术上是合法的,但不鼓励这种做法。不允许使用空格。

  • 后续字符可以是字母、数字、美元符号或下划线字符。惯例(和常识)也适用于这一规则。为变量选择名称时,请使用全词而不是神秘的缩写。这样做将使您的代码更易于阅读和理解。在许多情况下,它还会使您的代码自我记录;例如,名为“节奏”、“速度”和“档位”的字段比缩写版本(如 s、c 和 g)直观得多。另请记住,您选择的名称不得是关键字或保留字。

  • 如果您选择的名称仅包含一个单词,请将该单词拼写为所有小写字母。如果它由多个单词组成,请将每个后续单词的第一个字母大写。gearRatio和currentGear这两个名称是这一惯例的主要例子。如果变量存储一个常量值(如 ),则约定会稍有变化,将每个字母大写并用下划线字符分隔后续单词。按照惯例,下划线字符从不在其他地方使用。static final int NUM_GEARS = 6

来自官方的Java教程