Sobes.tech
Junior — Middle

La classe interna in Java è privata per l'accesso da altre classi?

sobes.tech AI

Risposta dell'AI

Una classe interna in Java non deve necessariamente essere privata per essere accessibile da altre classi. L'accesso alla classe interna dipende dal modificatore di accesso assegnato (private, protected, public o package-private). Ad esempio, se la classe interna è dichiarata come private, è accessibile solo all'interno della classe esterna. Se è dichiarata come public o senza modificatore (package-private), può essere accessibile anche da altre classi nello stesso pacchetto o tramite import.

Esempio:

public class Outer {
    private class InnerPrivate {}
    public class InnerPublic {}
}

// Da un'altra classe nello stesso pacchetto:
Outer.InnerPublic obj = new Outer().new InnerPublic(); // accesso consentito
// Outer.InnerPrivate obj2 = new Outer().new InnerPrivate(); // errore di compilazione