enums นั้น type-safe หมายความว่า enum มีเนมสเปซของตัวเอง เราไม่สามารถกำหนดค่าอื่นใดนอกจากที่ระบุไว้ในค่าคงที่ enum Typesafe enums ถูกนำมาใช้ใน Java 1.5 Version . นอกจากนี้ enum ยังเป็นประเภทอ้างอิง ซึ่งหมายความว่ามีลักษณะการทำงานเหมือนคลาสหรืออินเทอร์เฟซ ในฐานะโปรแกรมเมอร์ เราสามารถสร้างเมธอดและตัวแปรภายในการประกาศ enum ได้
ตัวอย่าง1
import java.util.*; enum JobType { permanent, contract } public class EnumTest1 { public static void main(String []args) { print(JobType.values()); } public static void print(JobType[] list) { for (int i=0; i < list.length; i++) { System.out.println(list[i]); } } }
ผลลัพธ์
permanent contract
ตัวอย่าง2
enum JobType { permanent { public void print(String str1) { System.out.println("This is a permanent " + str1); } }, contract { public void print(String str2) { System.out.println("This is a contarct " + str2); } }; abstract void print(String name); } public class EnumTest2 { public static void main(String[] args) { JobType dt1 = JobType.permanent; JobType dt2 = JobType.contract; dt1.print("job"); dt2.print("job"); } }
ผลลัพธ์
This is a permanent job This is a contract job