Oi Raphael, tudo bom?
Segundo a especificação da linguagem, apenas uma classe publica pode ser declarada dentro de um arquivo =)
Além disso, esse arquivo deve ter o mesmo nome da classe. Além da extensão ".java"
Você pode encontrar o motivo disso na documentação. Vou citar aqui o
trecho:
This restriction implies that there must be at most one such type per compilation unit. This restriction makes it easy for a compiler for the Java programming language or an implementation of the Java virtual machine to find a named class within a package; for example, the source code for a public type wet.sprocket.Toad would be found in a file Toad.java in the directory wet/sprocket, and the corresponding object code would be found in the file Toad.class in the same directory.
Ou seja, resumidamente, seguir este padrão facilita o processo de compilação do compilador =)