Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Enum có thể implements interface trong Java không?

Có, Enum implements interface trong Java, điều này hữu ích khi chúng ta cần triển khai một số logic nghiệp vụ gắn chặt với thuộc tính phân biệt của một đối tượng hoặc lớp cho trước. Enum là kiểu dữ liệu đặc biệt được thêm vào Java 1.5. Các Enum là hằng số, theo mặc định chúng là static và final nên tên các trường enum viết chữ hoa.

Ví dụ

interface EnumInterface {
    int calculate(int first, int second);
}

enum EnumClassOperator implements EnumInterface { // Enum implements 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);
    }
}

// Lớp chính
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());
    }
}

Kết quả

Addition: 30
Subtraction: 10