Sobes.tech
Назад к вопросам
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 невозможно.