Junior — Middle
A classe interna em Java é privada para acesso de outras classes?
sobes.tech IA
Resposta da IA
A classe interna em Java não precisa necessariamente ser privada para ser acessível a partir de outras classes. O acesso à classe interna depende do modificador de acesso atribuído a ela (private, protected, public ou package-private). Por exemplo, se a classe interna for declarada como private, ela só será acessível dentro da classe externa. Se for declarada como public ou sem modificador (package-private), então também será acessível a partir de outras classes no mesmo pacote ou por importação.
Exemplo:
public class Outer {
private class InnerPrivate {}
public class InnerPublic {}
}
// De outra classe no mesmo pacote:
Outer.InnerPublic obj = new Outer().new InnerPublic(); // acesso permitido
// Outer.InnerPrivate obj2 = new Outer().new InnerPrivate(); // erro de compilação