Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Enum이 Java에서 인터페이스를 구현할 수 있습니까?

<시간/>

예, 열거 Java에서 인터페이스를 구현하므로 주어진 개체 또는 클래스의 식별 속성과 밀접하게 연결된 일부 비즈니스 논리를 구현해야 할 때 유용할 수 있습니다. 열거 자바 1.5 버전에 추가된 특수 데이터 유형입니다. 열거형은 상수입니다. , 기본적으로 정적 최종 따라서 열거형 유형 필드의 이름은 대문자 입니다. 문자 .

예시

interface EnumInterface {
   int calculate(int first, int second);
}
enum EnumClassOperator implements EnumInterface { // An Enum implements an interface
   ADD {
      @Override
      public int calculate(int first, int second) {
         return first + second;
      }
   },
   SUBTRACT {
      @Override
      public int calculate(int first, int second) {
         return first - second;
      }
   };
}
class Operation {
   private int first, second;
   private EnumClassOperator operator;
   public Operation(int first, int second, EnumClassOperator operator) {
      this.first = first;
      this.second = second;
      this.operator = operator;
   }
   public int calculate() {
      return operator.calculate(first, second);
   }
}
// Main Class
public class EnumTest {
   public static void main (String [] args) {
      Operation add = new Operation(20, 10, EnumClassOperator.ADD);
      Operation subtract = new Operation(20, 10, EnumClassOperator.SUBTRACT);
      System.out.println("Addition: " + add.calculate());
      System.out.println("Subtraction: " + subtract.calculate());
   }
}

출력

Addition: 30
Subtraction: 10