Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

เราสามารถประกาศ Enum ภายใน Class ใน Java ได้หรือไม่

คำตอบ: ได้

Enum สามารถประกาศเป็น Member ของ Class ได้ (Member Enum) โดยอัตโนมัติเป็น static

ตัวอย่าง

public class EnumerationExample {
    enum Enum { Mango, Banana, Orange, Grapes, Thursday, Apple }

    public static void main(String args[]) {
        Enum[] constants = Enum.values();
        System.out.println("Value of constants:");
        for (Enum d : constants) System.out.println(d);
    }
}

ผลลัพธ์

Value of constants:
Mango
Banana
Orange
Grapes
Thursday
Apple

Enum ที่ซับซ้อน (มี Field, Constructor, Method)

enum Vehicles {
    ACTIVA125, ACTIVA5G, ACCESS125, VESPA, TVSJUPITER;
    int i;
    Vehicles() {}
    public void enumMethod() { System.out.println("Current value: " + this); }
}

public class Sam {
    public static void main(String args[]) {
        Vehicles[] vehicles = Vehicles.values();
        for (Vehicles veh : vehicles) System.out.println(veh);
        vehicles[3].enumMethod();
    }
}

ผลลัพธ์

ACTIVA125
ACTIVA5G
ACCESS125
VESPA
TVSJUPITER
Current value: VESPA

สรุป

  • Enum ใน Class เป็น implicit static
  • เข้าถึงได้: OuterClass.EnumConstant หรือ EnumConstant ภายใน Class เดียวกัน
  • สามารถมี Field, Constructor, Method ได้