Search code examples
javapackagesyntax-errornaming-conventionsdirectory-structure

Why cannot name a Java package "default"?


In IntelliJ I tried to create a package for my default implementation of services with name default:

🗁 src
└─── 🗁 main
    └─── 🗁 java
        └─── 🗁 service
            ├─── 🗁 default
            │   └─── // here I can't create java classes
            │
            ├─── PostService.java
            ├─── SearchService.java
            └─── UserService.java

The IDE prompted that you cannot create java classes in this package.

Why can't I create java classes in a package named default?


Solution

  • default is a reserved word. You cannot give your packages, classes, methods, variables, etc. any of the keywords as name.

    The full list of reserved words is here