Sobes.tech
Junior — Middle

É possível implementar um método público que retorne um objeto de uma classe interna privada dentro desta classe?

sobes.tech IA

Resposta da IA

Да, в 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 или через интерфейсы/абстракции.