В вопросе Каков эффективный способ реализации одноэлементного шаблона в Java? ответ с наибольшим количеством голосов говорит, что нужно использовать Enum для реализации синглтона.
Это нормально, и я понимаю аргументы, соответственно преимущества языка.
У меня, однако, есть набор классов, которые я определяю как singleton, но которые должны расширять другие классы, это невозможно с подходом enum, , поскольку перечисления не могут быть подклассами .
Джошуа Блох говорит на своих слайдах:
- But one thing is missing—you can’t extend an enum type
- In most cases, you shouldn’t
- One compelling use case—operation codes
В большинстве случаев не следует:может ли кто-нибудь уточнить это ? Я реализовал несколько сервлетов, и они расширяют HttpServlet
, почему бы им не быть синглтонами? Мне нужен только один экземпляр в моем приложении.