Sobes.tech
Junior — Middle

Вътрешният клас в Java дали е затворен за достъп от други класове?

sobes.tech AI

Отговор от AI

Вътрешният клас в Java не е задължително да бъде частен, за да бъде достъпен от други класове. Достъпът до вътрешния клас зависи от модификатора за достъп, който му е зададен (private, protected, public или package-private). Например, ако вътрешният клас е обявен като private, той е достъпен само вътре във външния клас. Ако е обявен като public или без модификатор (package-private), той също е достъпен от други класове в същия пакет или чрез импорт.

Пример:

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

// От друг клас в същия пакет:
Outer.InnerPublic obj = new Outer().new InnerPublic(); // достъп разрешен
// Outer.InnerPrivate obj2 = new Outer().new InnerPrivate(); // грешка при компилация