Pourquoi le constructeur enum est-il privé ?
Pourquoi le constructeur enum est-il privé ?

Vidéo: Pourquoi le constructeur enum est-il privé ?

Vidéo: Pourquoi le constructeur enum est-il privé ?
Vidéo: APPRENDRE LE JAVA #10 - LES ENUMERATIONS 2024, Décembre
Anonim

Vous ne pouvez pas réellement avoir un public constructeur enum . Tu en as besoin constructeur être privé , car énumérations définir un ensemble fini de valeurs (par exemple EN_US, EN_UK, FR_FR, FR_BE). Si la constructeur les personnes publiques pouvaient potentiellement créer plus de valeurs (par exemple des valeurs invalides/non déclarées telles que XX_KK, etc.).

À ce sujet, enum peut-il avoir un constructeur?

Ceci est dû au fait énumérer is Java contient des valeurs constantes fixes. Donc, il ne sert à rien d'avoir des droits publics ou protégés constructeur car vous ne pouvez pas créer d'instance de énumérer . Notez également qu'en interne énumérer est converti en classe comme ci-dessous. Comme nous pouvez ne crée pas énumérer objets explicitement d'où nous pouvez n'invoque pas constructeur enum directement.

De plus, quelle est la différence entre un constructeur enum et un constructeur de classe classique ? Pour répondre à la question: essentiellement, il n'y a pas différence entre les deux approches. Cependant, énumérer construct vous fournit des méthodes de support supplémentaires telles que values(), valueOf(), etc. que vous devrez écrire vous-même avec le classer -avec-privé- constructeur approcher.

A côté de cela, quel est le but des énumérations ?

Les énumérer est utilisé pour déclarer une liste de constantes entières nommées. Il peut être défini à l'aide de la énumérer mot-clé directement à l'intérieur d'un espace de noms, d'une classe ou d'une structure. Les énumérer est utilisé pour donner un nom à chaque constante afin que l'entier constant puisse être référencé en utilisant son nom. Exemple: énumérer.

Les énumérations peuvent-elles être instanciées ?

Énumérations ne prend pas en charge les constructeurs publics et, par conséquent, ne peut pas être instancié . Énumérations sont pour quand vous avez un ensemble fixe de constantes liées. Exactement une instance volonté être créé pour chaque énumérer constant.

Conseillé: