Olá Gabriel, tudo bem?
No Java só podemos ter uma classe pública dentro de um arquivo. Essa classe deve ter o mesmo nome do arquivo .java
.
Porém, é possível ter outras classes com diferentes encapsulamentos, inclusive classes internas públicas.
Por exemplo, em um arquivo chamado ClasseA.java
:
Isso é válido:
public class ClasseA {
}
interface InterfaceA {
}
Isso também é válido:
public class ClasseA {
private class ClasseB {
}
}
public class ClasseA {
class ClasseB {
}
}
public class ClasseA {
public class ClasseB {
}
}
Agora, isso é inválido:
public class ClasseA {
}
public class ClasseB {
}
Bem como este trecho também é inválido:
public class ClasseA {
}
public interface InterfaceA {
}