Основы Java. Урок 148. enum
enum в Java: очевидное - невероятное
Всем привет! Хочу рассказать про ряд неочевидных особенностей enum в Java. Поехали! 1) enum - это полноценный класс, у него могут быть поля, методы, обычные и статические 2) любой enum неявно (!) расширяет абстрактный класс Enum, поэтому наследовать enum от кого-то другого нельзя. Например, один enum от другого. При этом добавить final для enum нельзя, т.к. он уже фактически final) 3) зато enum может реализовывать интерфейсы, как и любой другой класс в Java 4) самое интересное - каждое значение enum является наследником самого enum. Т.е. можно объявить метод show в enum Direction и переопределить его Direction...
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...