java - Qu'est-ce qu'une énumération? Pourquoi est-ce là?
我想大声告诉你
我想大声告诉你 2017-05-17 10:01:51
0
7
692

Phénomène réel

  • Je sais essentiellement comment utiliser l'énumération, mais je veux revenir à la source (discuter de l'essence)

Phénomènes attendus

  1. Rejeter les réponses dogmatiques extraites de documents (le temps est important)

  2. Vous recherchez une compréhension approfondie de l'énumération (au moins j'ai écrit beaucoup de code dans l'environnement de production actuel) !

Remarque : je ne suis pas un débutant en programmation, certains concepts de base ne nécessitent pas de vulgarisation scientifique

Contexte

  • L'objet de discussion est l'énumération en Java (en fait l'énumération est un concept)

  • Plus précisément, nous discutons du mot-clé enum

我想大声告诉你
我想大声告诉你

répondre à tous(7)
小葫芦
  1. peut être utilisé au lieu de définir des constantes de type, telles que le statut de la commande, le type de document, etc., pour garantir la sécurité du type.
    Par exemple, si la classe String ordinaire est utilisée pour représenter le statut de la commande, l'appelant peut transmettre une chaîne qui n'est pas dans la plage d'état de la commande pour l'appelé. Ce type d'erreur est introuvable lors de l'étape de compilation

  2. .
  3. La classe d'énumération Java est essentiellement une implémentation d'un modèle à instances multiples, et le modèle singleton est un cas particulier de modèle à instances multiples

  4. Les classes d'énumération ne peuvent pas être héritées. Par exemple, enumA extends enumB ne peut pas être utilisé

  5. .
  6. Une classe d'énumération avec des types internes afin d'implémenter l'interface Comparable

左手右手慢动作

Le chapitre 6 de Java efficace a une explication détaillée, vous pouvez la consulter

小葫芦

Vous pouvez simplement considérer enum comme un type int avec des informations de remarque.

漂亮男人

Je suis choqué par vos conditions, alors je vais juste vous faire part de mes réflexions personnelles

enum peut être considérée comme une classe spéciale qui contient des constantes accessibles et publiques. En fait, en tant que constantes accessibles et publiques, elles ont été analysées dans le pool de constantes pendant le processus de chargement de la classe. Enum permet uniquement aux utilisateurs d'y accéder à partir d'une sémantique. perspective. Facilite l'affichage de la signification des constantes lors de leur utilisation. Dans le même temps, cela facilite également la construction de constantes, en parcourant toutes les constantes d'un certain type, en les utilisant dans les instructions switch, etc.

習慣沉默

Cette question est trop vaste et difficile à répondre.
enum est essentiellement une classe qui hérite de java.lang.Enum et peut être utilisée dans des singletons et où les entrées doivent être limitées

洪涛

Permettez-moi d'abord de parler de ma compréhension personnelle, superficielle et subjective, et de donner quelques idées.

Je pense que le but de l'énumération est :

  • Fournir un moyen de gérer les constantes,

  • Un espace de noms.

左手右手慢动作

L'existence de l'énumération elle-même est destinée à résoudre le problème de lisibilité des constantes. Avant qu'il n'y ait pas d'énumération, pour marquer un état, le type int était souvent utilisé. La lisibilité de 1, 2 et ainsi de suite n'était pas très bonne, et a. une nouvelle constante a été ajoutée pour écrire une longue instruction, cette fonction a été ajoutée dans jdk5 pour résoudre cette série de problèmes. Son essence est une classe, mais lors de la création d'une énumération, elle générera automatiquement des valeurs(), ordinal() et d'autres méthodes, et prend en charge les instructions switch, couvrant les scénarios dans lesquels des constantes apparaîtront. Il est plus pratique à utiliser que de définir directement des constantes. .

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal