- Files with no public classes can have a name that does not match any of the classes in the file
- There can be only one public class per source code file.
- If there is a public class in a file, the name of the file must match( the same) name of the public class. For example, a class declared as public class Example { }
must be in a source code file named Example.java. - If the class is part of a package, the package statement must be the first line in the source code file, before any import statements that may be present.
- If there are import statements,
- they must go between the package statement (if there is one) and the class declaration.
- If there isn’t a package statement, then the import statement(s) must be the first line(s) in the source code file.
- If there are no package or import statements, the class declaration must be the first line in the source code file.
- import and package statements apply to all classes within a source code file. In other words, there’s no way to declare multiple classes in a file and have them in different packages, or use different imports.
- A file can have more than one non public class.