Sobes.tech
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