Найти тему
DEBAGanov

Java 81. Может ли Enum реализовывать (implement) интерфейс?

Да, в Java Enum может реализовывать (implement) интерфейс. Это означает, что каждая константа Enum будет иметь реализацию методов этого интерфейса.

Рассмотрим следующий пример кода:

public interface MyInterface {
void myMethod();
}

public enum MyEnum implements MyInterface {
CONSTANT1 {
@Override
public void myMethod() {
System.out.println("Constant 1 implementation");
}
},
CONSTANT2 {
@Override
public void myMethod() {
System.out.println("Constant 2 implementation");
}
};

// общие методы для всех констант public void someMethod() {
System.out.println("Some method implementation");
}
}

Здесь мы создаем интерфейс "MyInterface", который содержит метод "myMethod()". Далее мы создаем Enum "MyEnum", который реализует этот интерфейс. Внутри Enum мы создаем две константы - "CONSTANT1" и "CONSTANT2", которые обе реализуют метод "myMethod()" интерфейса "MyInterface".

Также в Enum мы можем определять свои собственные методы, которые будут доступны для всех констант.

В данном примере при вызове метода "myMethod()" для константы "CONSTANT1" будет выведено сообщение "Constant 1 implementation", а для "CONSTANT2" - "Constant 2 implementation". Вызов метода "someMethod()" для любой из констант Enum выведет сообщение "Some method implementation".

1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions

Tелеграмм канал: https://t.me/DEBAGanov

Мое резюме: https://github.com/DEBAGanov