为什么不能将java包命名为;默认值;?

为什么不能将java包命名为;默认值;?,java,syntax-error,naming-conventions,packages,directory-structure,Java,Syntax Error,Naming Conventions,Packages,Directory Structure,在IntelliJ中,我尝试为名为default的服务的默认实现创建一个包: 默认值是保留字。不能将包、类、方法、变量等任何关键字作为名称 保留字的完整列表是,因为default是一个保留的Java关键字-您不能使用保留关键字(如public,void等)作为包名。default是Java中的一个-当不匹配大小写时,它用于开关的分支(而且,正如@Glains在评论中提到的——因为Java 8,它也被用来提供接口的默认实现)。因此,它不能被用作标识符,就像你不能命名你的包package,class

在IntelliJ中,我尝试为名为
default
的服务的默认实现创建一个包:


默认值是保留字。不能将包、类、方法、变量等任何关键字作为名称


保留字的完整列表是,因为
default
是一个保留的Java关键字-您不能使用保留关键字(如
public
void
等)作为包名。

default
是Java中的一个-当不匹配
大小写时,它用于
开关的分支(而且,正如@Glains在评论中提到的——因为Java 8,它也被用来提供接口的默认实现)。因此,它不能被用作标识符,就像你不能命名你的包
package
class
public
等等一样

您不能在程序中使用以下任何一项作为标识符。 关键字const和goto是保留的,即使它们不是 当前使用。true、false和null可能看起来像关键字,但 它们实际上是文本;您不能将它们用作 节目


请参阅保留关键字列表。

不要忘记界面中的默认方法。@Glains说得好,谢谢!为了完整起见,也将其编辑到了我的答案中。谢谢。我不知道对使用关键字和保留字的限制也适用于包名。