С точки зрения наследования,
Когда класс A имеет закрытый конструктор, этот закрытый конструктор доступен только тем, у кого есть доступ к закрытым методам A. Внутренние классы А и если A является внутренним классом некоторого класса S, другие внутренние классы S имеют доступ к закрытому конструктору.
Таким образом, A может быть унаследован своими собственными внутренними классами или другими внутренними классами S.
Для Достижения Одноэлементного Шаблона,
Одноэлементный шаблон означает, что один класс отвечает за создание объекта, обеспечивая при этом создание только одного объекта.
Поэтому для достижения этой цели конструктор должен быть частным .
Создание одноэлементного класса
public class SingletonObject { private static SingletonObject singletonObject = new SingletonObject(); // make the constructor private so that this class cannot be // instantiated private SingletonObject() { } // Get the only object available public static SingletonObject getInstance() { return singletonObject; } public void showMessage() { System.out.println("Singleton Pattern"); } }
Получить объект из одноэлементного класса
public class SingletonPatternEx { public static void main(String[] args) { //Get the only object available SingletonObject object = SingletonObject.getInstance(); //show the message object.showMessage(); } }
Выход
Singleton Pattern
Оригинал: “https://dev.to/dehigas/keeping-a-constructor-private-3f1l”