不能使用以下关键字作为Java程序的标识符:
关键字const和goto语句被保留,即使它们目前尚未使用。true、false和null虽然不是关键字,但是由于它们在程序中是字面值,因此也不能作为程序的标识符。
var不是关键字,而是具有特殊含义的标识符,作为局部变量声明的类型和Lambda形式参数的类型。
另外,有10个字符序列是受限制的关键字:open、module、requires、transitive、exports、opens、to、uses、provides和with。这些字符序列仅被标记为关键字,它们只在ModuleDeclaration、ModuleDirective和RequiresModifier产品中才有意义。它们在其他地方被标记为标识符,以便与引入受限制关键字之前编写的程序兼容。
例如,以下模块声明是有效的,即使它不使用直观的模块名称:
module module { // 模块语句... }
在上面的代码中,第一个module被解释为一个关键字,第二个module是一个模块的名称。
允许在程序中的任何地方声明一个名为module的变量,例如:
String module = "myModule";