Le constructeur pour cela `` est privé. Que cela signifie-t-il?
Réponses
Trop de publicités?Un constructeur privé autorise uniquement la construction d’objets à partir de la définition de classe. Étant un enum, il est facile de se confondre, donc je trouve généralement plus facile de penser à un enum comme une classe avec des caractéristiques spéciales. Donc, lorsque vous écrivez :
Fondamentalement, les paramètres
sera transmis au constructeur privé afin que l’enum puisse être instancié. Les constructeurs Enum doivent être privés.
De : http://download.oracle.com/javase/tutorial/java/javaOO/enum.html
Remarque : Le constructeur d’un type enum doit être package-private ou accès privé. Il crée automatiquement les constantes qui sont défini au début du corps de l’énum. Vous ne pouvez pas appeler un enum constructeur vous-même.
Vous ne pouvez pas réellement avoir un constructeur enum public.
Vous avez besoin que ce constructeur soit privé, car les énumérations définissent un ensemble fini de valeurs (par exemple EN_US, EN_UK, FR_FR FR_BE). Si le constructeur était public, les personnes pourraient potentiellement créer plus de valeurs (par exemple, des valeurs non valides/non déclarées telles que XX_KK, etc.). Cela étendrait l’ensemble des valeurs initialement déclarées.