Junior — Middle
92
Ar Java vidinė klasė yra uždaryta prieigai iš kitų klasių?
Atsakymas iš AI
sobes.tech AI
Java vidinėje klasėje nebūtina būti privačiai, kad būtų prieinama iš kitų klasių. Prieiga prie vidinės klasės priklauso nuo jos priskirto prieigos modifikatoriaus (private, protected, public arba package-private). Pavyzdžiui, jei vidinė klasė deklaruota kaip private, ji prieinama tik iš išorinės klasės. Jei ji deklaruota kaip public arba be modifikatoriaus (package-private), ji taip pat prieinama iš kitų to paties paketo klasių arba per importą.
Pavyzdys:
public class Outer {
private class InnerPrivate {}
public class InnerPublic {}
}
// Iš kitos tos pačios paketo klasės:
Outer.InnerPublic obj = new Outer().new InnerPublic(); // leidžiama prieiga
// Outer.InnerPrivate obj2 = new Outer().new InnerPrivate(); // kompiliacijos klaida