A2oz

Can I Take Multi-Classes in a Single Java File?

Published in Java Programming 2 mins read

Yes, you can take multiple classes in a single Java file. However, there are some restrictions and best practices to keep in mind.

Restrictions

  • One Public Class: You can have only one public class per file. This class's name must match the filename.
  • Multiple Non-Public Classes: You can have multiple non-public classes (classes declared with the private, protected, or no access modifier) within a single file.

Best Practices

  • Single Responsibility Principle: It's generally recommended to keep each class responsible for a single, well-defined task. This promotes modularity and maintainability.
  • Code Organization: Having multiple classes in a file can make it harder to read and navigate. Consider breaking down your code into multiple files for better organization.

Example

// MyFile.java

// Public class
public class MyClass1 {
    // ...
}

// Non-public class
class MyClass2 {
    // ...
}

// Another non-public class
class MyClass3 {
    // ...
}

In this example, MyClass1 is the public class and its name matches the filename. MyClass2 and MyClass3 are non-public classes.

Conclusion

While it's technically possible to have multiple classes in a single Java file, it's often better to separate classes into different files for better organization and maintainability.

Related Articles