Rumah >Java >javaTutorial >Mengapa Saya Tidak Boleh Memanjangkan Kelas Java Enum untuk Menambah Elemen Baharu?

Mengapa Saya Tidak Boleh Memanjangkan Kelas Java Enum untuk Menambah Elemen Baharu?

Susan Sarandon
Susan Sarandonasal
2024-12-05 10:29:131040semak imbas

Why Can't I Extend Java Enum Classes to Add New Elements?

Tidak Dapat Memanjangkan Kelas Enum untuk Menambah Elemen Baharu

Enum Java ialah kelas akhir dan tidak boleh disubkelaskan. Mengubah suai enum sedia ada untuk menambah elemen baharu tidak boleh dilaksanakan. Reka bentuk Java enum memastikan bahawa semua nilai yang mungkin diketahui secara eksplisit pada masa penyusunan.

Pertimbangkan kod berikut:

enum A {
  a,
  b,
  c
}

enum B extends A {
  d
}

Walaupun nampaknya B memanjangkan A dan menambah elemen baharu d , ini tidak boleh dilakukan di Jawa. Memanjangkan enum dengan nilai baharu akan membawa kepada ketidakkonsistenan, kerana d akan menjadi contoh A dan nilai B yang berbeza.

Selain itu, tujuan enum adalah untuk mentakrifkan set tetap nilai yang diketahui . Memperluas enum dengan elemen baharu akan menjejaskan konsep ini dan memperkenalkan kesamaran untuk pengguna yang hanya biasa dengan nilai enum asal.

Daripada melanjutkan enum, pertimbangkan penyelesaian alternatif yang selaras dengan prinsip ketakbolehubah dan penyusunan Java- keselamatan masa. Contohnya, anda boleh mencipta enum baharu dengan nilai yang dikehendaki atau menggunakan gubahan untuk mencipta kelas yang merangkum enum dan menyediakan kefungsian tambahan mengikut keperluan.

Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Memanjangkan Kelas Java Enum untuk Menambah Elemen Baharu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn