Sobes.tech
Назад к вопросам
Junior — Middle
69

Можно ли реализовать публичный метод, возвращающий объект приватного внутреннего класса в рамках данного класса?

Ответ от нейросети

sobes.tech AI

Да, в Java можно реализовать публичный метод в классе, который возвращает объект приватного внутреннего класса. Внутренний класс может быть объявлен как private, но поскольку он находится внутри внешнего класса, внешнему классу разрешено создавать и возвращать его экземпляры.

Пример:

public class Outer {
    private class Inner {
        void sayHello() {
            System.out.println("Hello from Inner");
        }
    }

    public Inner getInner() {
        return new Inner();
    }
}

В этом примере метод getInner() публичный и возвращает объект приватного внутреннего класса Inner. Однако вне класса Outer тип Inner будет недоступен, поэтому использовать возвращаемый объект напрямую можно только внутри Outer или через интерфейсы/абстракции.