Sobes.tech
Middle+
29

Можно ли наследовать enum в Java?

Companies where asked
Мираполис

Answer from AI

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 невозможно.