列舉可以在 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
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP