Зверь-чародей
Знатоки Java,
мне надо определить набор enumов, которые будут наследоваться от чего-то/имплементировать что-то, чей тип я буду передавать в качестве параметра и у чего будет единый для всех статический метод.
Вопрос: как?
enum нельзя экстендить, а в интерфейсах нельзя объявлять статические методы.
Конечная цель - передать класс любого из этих енумов в функцию, которая вызовет этот статический метод.
мне надо определить набор enumов, которые будут наследоваться от чего-то/имплементировать что-то, чей тип я буду передавать в качестве параметра и у чего будет единый для всех статический метод.
Вопрос: как?
enum нельзя экстендить, а в интерфейсах нельзя объявлять статические методы.
Конечная цель - передать класс любого из этих енумов в функцию, которая вызовет этот статический метод.
PS. В интерфейсе, хоть и нельзя определить статический метод, но можно определить статический inner class со статическим методом.
Собственно не очень понятно, почему нужен статический метод именно в суперинтерфейсе енумов -- по сути, статический метод может быть где угодно и это просто вопрос структуризации кода, т.к. физически он всё-равно принадлежит не объекту инстанса, а объекту типа, поэтому никакой разницы от выноса его в утилити/хелпер класс, как предложили выше, нет.