การแจงนับ (enum) ใน Java เป็นประเภทข้อมูลที่เก็บชุดของค่าคงที่ คุณสามารถใช้การแจงนับเพื่อเก็บค่าคงที่ เช่น วันในสัปดาห์ เดือนในหนึ่งปี เป็นต้น
คุณสามารถกำหนดการแจงนับโดยใช้คีย์เวิร์ด enum ตามด้วยชื่อของการแจงนับเป็น −
enum Days {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
} เช่นเดียวกับอาร์เรย์ องค์ประกอบ/ค่าคงที่ในการแจงนับจะถูกระบุโดยใช้ตัวเลขเริ่มต้นจาก 0 ในตัวอย่างข้างต้น วันจะถูกระบุโดยใช้ตัวเลขดังแสดงในภาพประกอบต่อไปนี้ -

การแจงนับนั้นคล้ายกับคลาส และคุณสามารถมีตัวแปร เมธอด และคอนสตรัคเตอร์ภายในได้ อนุญาตเฉพาะวิธีที่เป็นรูปธรรมเท่านั้นในการแจงนับ
ขยายชั้นเรียน
การแจงนับทั้งหมดภายในขยายคลาสที่ชื่อ Enum เป็นคลาสพื้นฐานของประเภทการแจงนับภาษาทั้งหมด เนื่องจาก Java ไม่รองรับการสืบทอดหลายรายการ คุณจึงไม่สามารถขยายคลาสอื่นด้วยการแจงนับได้ หากคุณพยายามทำเช่นนั้น จะเกิดข้อผิดพลาดในการคอมไพล์ขึ้น
ตัวอย่าง
ในตัวอย่างจาวาต่อไปนี้ เรามีคลาสที่มีชื่อ Sample และเราได้สร้างประเภท Enum ชื่อ Scooters และพยายามขยายคลาส Sample
import java.util.Scanner;
class Sample {
}
enum Scooters extends Sample {
} ผลลัพธ์
On executing, this class generates the following compile time error.
D:\>javac EnumExample.java
EnumExample.java:5: error: '{' expected
enum Scooters extends Sample{
^
EnumExample.java:5: error: ',', '}', or ';' expected
enum Scooters extends Sample{
^
2 errors