Sobes.tech
Junior — Middle

Peut-on implémenter une méthode publique qui retourne un objet d'une classe interne privée dans le cadre de cette classe?

sobes.tech IA

Réponse de l'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 или через интерфейсы/абстракции.