تم تقديم تعداد فئة التعداد في JDK1.5 سابقًا، وتم استخدام قيمة int النهائية العامة بدلاً من فئة التعداد. إن فئة التعداد هي فئة خاصة ترث الفئة java.lang.Enum افتراضيًا. مثل الفئات العادية الأخرى، يمكن أن يحتوي التعداد أيضًا على متغيرات الأعضاء وطرق ومنشئات، ويمكنه أيضًا تنفيذ واجهة واحدة أو أكثر. الفرق هو:
1. إذا كان هناك منشئ، فيجب تزيينه بالخاص.
2. لا يمكن لفئات التعداد اشتقاق الفئات الفرعية.
3. يجب أن تكون جميع مثيلات فئة التعداد محددة بوضوح في السطر الأول. سيقوم النظام تلقائيًا بإضافة التعديل النهائي الثابت العام إلى هذه الحالات دون الحاجة إلى قيام المبرمجين بتعريفها بشكل صريح.
4. توفر فئة التعداد طريقة القيم () بشكل افتراضي لتسهيل اجتياز جميع قيم التعداد.
الطرق في التعداد (الطرق المقدمة من التعداد):
public Final int CompareTo(E o) يقارن قيم التعداد من نفس النوع
public Final int ordinal() يُرجع قيمة فهرس التعداد، بدءًا من الصفر لقيمة التعداد الأولى.
يُرجع اسم السلسلة النهائية العامة () اسم مثيل التعداد
تقوم السلسلة العامة toString() بإرجاع اسم إخراج التعداد
مثال على إشارة المرور
public enum TrafficLight { RED("Red"), YELLOW("Yellow"), GREEN("Green"); Private String(String name) { this.name = name } public String getName() { return name; } public void jude(TrafficLight light) { Switch (light) { case RED: System.out.println("stop"); System.out.println("go"); case GREEN: System.out.println("wait"); : TrafficLight.values()) { System.out.println(e.name());