Назад к вопросам
Middle+
5
Можно ли наследовать enum в Java?
Компании, где спрашивали
Мираполис
Ответ от нейросети
sobes.tech AI
В Java нельзя наследовать enum напрямую, так как все enum автоматически наследуют от java.lang.Enum и наследование от другого enum или класса невозможно.
Однако можно реализовать общие интерфейсы для нескольких enum, чтобы обеспечить некоторую форму полиморфизма:
public interface Operation {
double apply(double x, double y);
}
public enum BasicOperation implements Operation {
PLUS { public double apply(double x, double y) { return x + y; } },
MINUS { public double apply(double x, double y) { return x - y; } }
}
public enum ExtendedOperation implements Operation {
TIMES { public double apply(double x, double y) { return x * y; } },
DIVIDE { public double apply(double x, double y) { return x / y; } }
}
Таким образом, можно использовать интерфейс для работы с разными enum, но прямое наследование enum в Java невозможно.