Вы можете иметь несколько классов в одном файле в Java (это ограничение Java), но в общедоступном файле может быть только один класс, и этот класс должен иметь то же имя, что и файл. Обычно вы помещаете в один файл только два класса, если второй класс предназначен для использования только первым классом или его ближайшими соседями.