Sobes.tech
Back to questions
Junior — Middle
61

Как ведет себя объявленный как private конструктор при создании экземпляра класса?

Answer from AI

sobes.tech AI

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

Такой подход часто используется для:

  • Реализации паттерна Singleton, когда нужно гарантировать, что класс имеет только один экземпляр.
  • Создания фабричных методов внутри класса, которые контролируют процесс создания объектов.

Пример:

public class Singleton {
    private static Singleton instance;

    private Singleton() {
        // private конструктор
    }

    public static Singleton getInstance() {
        if (instance == null) {
            instance = new Singleton();
        }
        return instance;
    }
}

В этом примере попытка создать объект через new Singleton() вне класса вызовет ошибку компиляции, так как конструктор приватный. Создание экземпляра возможно только через статический метод getInstance().