列舉可以在 Java 中實現介面嗎?


是的,在 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

更新於: 2023 年 11 月 22 日

11K+ 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.