ใช่ Enum ใช้อินเทอร์เฟซใน Java ซึ่งจะมีประโยชน์เมื่อเราต้องใช้ตรรกะทางธุรกิจบางอย่างที่ควบคู่ไปกับคุณสมบัติการเลือกปฏิบัติของวัตถุหรือคลาสที่กำหนด Enum เป็นประเภทข้อมูลพิเศษที่เพิ่มใน Java 1.5 เวอร์ชัน Enums เป็น ค่าคงที่ โดยค่าเริ่มต้นจะเป็น คงที่ และ สุดท้าย ดังนั้นชื่อของฟิลด์ประเภท enum จึงเป็น ตัวพิมพ์ใหญ่ จดหมาย .
ตัวอย่าง
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