Sobes.tech
Middle+

Kas Java-s saab pärida enum'i?

sobes.tech AI

Vastus AI-lt

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