Все вышеприведенные ответы верны.
В шаблоне проектирования Singleton вы не должны позволять другим создавать экземпляры для класса Singleton. Вы должны владеть своими собственными правами. Другой экземпляр может запросить у вас экземпляр синглтона. Поэтому конструктор должен / должен быть закрытым.
В вашем примере вы сделали его защищенным. В этом случае, если вы расширяете класс singleton, у вас есть возможность создать экземпляр из другого экземпляра. Эта возможность не должна предоставляться.
Сделайте конструктор частным в вашем фрагменте кода, а затем в его синглтон-классе.