Junior — Middle
90
Da li je unutrašnja klasa u Javi zatvorena za pristup iz drugih klasa?
Одговор од АИ
sobes.tech АИ
Unutarnja klasa u Javi ne mora nužno biti privatna da bi bila dostupna iz drugih klasa. Pristup unutarnjoj klasi zavisi od modifikatora pristupa koji joj je dodeljen (private, protected, public ili package-private). Na primer, ako je unutarnja klasa deklarisana kao private, dostupna je samo unutar spoljašnje klase. Ako je deklarisana kao public ili bez modifikatora (package-private), dostupna je i iz drugih klasa u istom paketu ili putem uvoza.
Primer:
public class Outer {
private class InnerPrivate {}
public class InnerPublic {}
}
// Iz druge klase u istom paketu:
Outer.InnerPublic obj = new Outer().new InnerPublic(); // dozvoljen pristup
// Outer.InnerPrivate obj2 = new Outer().new InnerPrivate(); // greška pri kompilaciji