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