Pada dasarnya saya tahu bagaimana menggunakan enum, tetapi saya ingin kembali kepada sumbernya (bincang intipati)
Tolak jawapan dogmatik yang dipetik daripada dokumen (masa adalah penting)
Mencari pemahaman mendalam tentang enum (sekurang-kurangnya saya telah menulis banyak kod dalam persekitaran pengeluaran sebenar)!
Nota: Saya bukan pemula dalam pengaturcaraan, beberapa konsep asas tidak memerlukan sains popular
Objek perbincangan ialah enum di Jawa (sebenarnya enum ialah konsep)
Secara khusus, kita membincangkan kata kunci enum
boleh digunakan dan bukannya menentukan pemalar jenis, seperti status pesanan, jenis dokumen, dll., untuk memastikan keselamatan jenis
Contohnya, jika kelas String biasa digunakan untuk mewakili status pesanan, pemanggil boleh melepasi String yang tidak berada dalam julat status pesanan kepada penerima Ini Ralat jenis ini tidak boleh ditemui dalam peringkat penyusunan
Kelas penghitungan Java pada asasnya ialah pelaksanaan corak berbilang contoh, dan corak tunggal ialah kes khas corak berbilang tika
Kelas enumerasi tidak boleh diwarisi Contohnya, enumA extend enumB tidak boleh digunakan
Kelas penghitungan dengan jenis dalaman untuk melaksanakan antara muka Setanding
Java Berkesan Bab 6 mempunyai penjelasan terperinci, anda boleh menyemaknya
Anda boleh menganggap enum sebagai jenis int dengan maklumat catatan.
Saya terkejut dengan keadaan anda, jadi saya hanya akan memberitahu anda fikiran peribadi saya
enum boleh dilihat sebagai kelas khas yang mengandungi beberapa pemalar yang boleh diakses dan awam Malah, sebagai pemalar yang boleh diakses dan awam, mereka telah dihuraikan ke dalam kumpulan pemalar semasa proses pemuatan kelas hanya membenarkan pengguna mengaksesnya daripada semantik Perspektif. Jadikan lebih mudah untuk memaparkan maksud pemalar apabila menggunakannya. Pada masa yang sama, ia juga memudahkan pembinaan pemalar, menggelung melalui semua pemalar jenis tertentu, menggunakannya dalam penyataan suis, dsb.
Soalan ini terlalu luas dan sukar untuk dijawab.
enum pada asasnya ialah kelas yang mewarisi java.lang.Enum dan boleh digunakan dalam singleton dan di mana input perlu dihadkan
Biar saya bercakap tentang pemahaman peribadi saya yang cetek dan subjektif, dan berikan beberapa idea.
Saya rasa tujuan enum ialah:
Sediakan cara menguruskan pemalar,
Ruang nama.
Kewujudan enum itu sendiri adalah untuk menyelesaikan masalah kebolehbacaan pemalar Sebelum tidak ada enum, untuk menandakan keadaan, jenis int sering digunakan Kebolehbacaan 1, 2 dan seterusnya tidak begitu baik, dan a pemalar baru telah ditambah Untuk menulis pernyataan yang panjang, fungsi ini telah ditambah dalam jdk5 untuk menyelesaikan siri masalah ini. Intipatinya ialah kelas, tetapi apabila mencipta enum, ia akan menjana nilai(), ordinal() dan kaedah lain secara automatik, dan menyokong penyataan suis, meliputi senario di mana pemalar akan muncul. Ia lebih mudah digunakan daripada mentakrifkan pemalar secara langsung .