Sobes.tech
Junior — Middle

O clasă internă în Java este privată pentru accesul din alte clase?

sobes.tech AI

Răspuns de la AI

O clasa internă în Java nu trebuie neapărat să fie privată pentru a fi accesibilă din alte clase. Accesul la clasa internă depinde de modificatorul de acces atribuit (private, protected, public sau package-private). De exemplu, dacă clasa internă este declarată ca private, ea este accesibilă doar în interiorul clasei externe. Dacă este declarată ca public sau fără modificator (package-private), atunci poate fi accesată și din alte clase din același pachet sau prin import.

Exemplu:

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

// Dintr-o altă clasă din același pachet:
Outer.InnerPublic obj = new Outer().new InnerPublic(); // acces permis
// Outer.InnerPrivate obj2 = new Outer().new InnerPrivate(); // eroare de compilare