Sobes.tech
Middle+

¿Se puede heredar un enum en Java?

sobes.tech AI

Respuesta de la IA

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