Computer >> Máy Tính >  >> Lập trình >> Java

Enum có thể cài đặt một giao diện trong Java không?

Có, Enum triển khai một giao diện trong Java, nó có thể hữu ích khi chúng ta cần triển khai một số logic nghiệp vụ được kết hợp chặt chẽ với thuộc tính phân biệt của một đối tượng hoặc lớp nhất định. Một Enum là một kiểu dữ liệu đặc biệt được thêm vào phiên bản Java 1.5. Enums là hằng số , theo mặc định, chúng là tĩnh cuối cùng vì vậy tên của các trường kiểu enum được viết bằng chữ hoa chữ cái .

Ví dụ

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());
   }
}

Đầu ra

Addition: 30
Subtraction: 10