Rumah  >  Artikel  >  Java  >  Bagaimanakah java mentakrifkan kelas Enum untuk melaksanakan nilai dan penerangan?

Bagaimanakah java mentakrifkan kelas Enum untuk melaksanakan nilai dan penerangan?

WBOY
WBOYke hadapan
2023-04-29 15:16:131742semak imbas

Tentukan kelas Enum untuk melaksanakan nilai dan penerangan

Dalam bahasa pengaturcaraan komputer seperti C++ dan Java, jenis penghitungan (Enum) ialah jenis data khas yang boleh mentakrifkan satu set nilai yang telah ditetapkan ​untuk pembolehubah. Apabila menggunakan jenis penghitungan, nilai pembolehubah jenis penghitungan mestilah salah satu nilai yang dipratakrifkan.

1. Jenis penghitungan dilaksanakan menggunakan kata kunci kelas

Sebelum JDK5, bahasa Java tidak menyokong jenis penghitungan dan hanya boleh menggunakan kelas untuk mensimulasikan dan melaksanakan jenis penghitungan.

/** 订单状态枚举 */public final class OrderStatus {    /** 属性相关 */
    /** 状态取值 */
    private final int value;    /** 状态描述 */
    private final String description;    /** 常量相关 */
    /** 已创建(1) */
    public static final OrderStatus CREATED = new OrderStatus(1, "已创建");    /** 进行中(2) */
    public static final OrderStatus PROCESSING = new OrderStatus(2, "进行中");    /** 已完成(3) */
    public static final OrderStatus FINISHED = new OrderStatus(3, "已完成");    /** 构造函数 */
    private OrderStatus(int value, String description) {        this.value = value;        this.description = description;
    }    /** 获取状态取值 */
    public int getValue() {        return value;
    }    /** 获取状态描述 */
    public String getDescription() {        return description;
    }
}

2. Jenis penghitungan dilaksanakan menggunakan kata kunci enum

JDK5 menyediakan jenis baharu - jenis penghitungan Java Kata kunci enum boleh menukar set nilai yang dinamakan Koleksi terhingga dicipta sebagai baharu jenis, dan nilai yang dinamakan ini boleh digunakan sebagai pemalar, yang merupakan ciri yang sangat berguna.

/** 订单状态枚举 */public enum OrderStatus {    /** 常量相关 */
    /** 已创建(1) */
    CREATED(1, "已创建"),    /** 进行中(2) */
    PROCESSING(2, "进行中"),    /** 已完成(3) */
    FINISHED(3, "已完成");    /** 属性相关 */
    /** 状态取值 */
    private final int value;    /** 状态描述 */
    private final String description;    /** 构造函数 */
    private OrderStatus(int value, String description) {        this.value = value;        this.description = description;
    }    /** 获取状态取值 */
    public int getValue() {        return value;
    }    /** 获取状态描述 */
    public String getDescription() {        return description;
    }
}

Malah, jenis Enum ialah gula sintaks, dan pengkompil membantu kami menghuraikan dan menyusun sintaks. Melalui penyahkompilasi, anda boleh melihat bahawa penghitungan Java sebenarnya menjana kelas selepas penyusunan, yang mewarisi java.lang.Enum dan menambah kaedah biasa jenis penghitungan seperti values() dan valueOf().

Atas ialah kandungan terperinci Bagaimanakah java mentakrifkan kelas Enum untuk melaksanakan nilai dan penerangan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam