Sobes.tech
Junior — Middle

Uma classe interna pode aceder aos atributos privados da sua classe externa?

sobes.tech IA

Resposta da IA

Sim, uma classe interna (aninhada) em Java pode aceder aos atributos privados da sua classe externa. Isto deve-se ao facto de a classe interna fazer parte da classe externa e ter acesso a todos os seus membros, incluindo os privados.

Exemplo:

public class Outer {
    private int secret = 42;

    class Inner {
        public void reveal() {
            System.out.println("Segredo da classe externa: " + secret);
        }
    }

    public static void main(String[] args) {
        Outer outer = new Outer();
        Outer.Inner inner = outer.new Inner();
        inner.reveal(); // Vai imprimir: Segredo da classe externa: 42
    }
}

Assim, a classe interna tem acesso completo aos campos e métodos privados da classe externa.