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().