Java 5 prend en charge les types énumérés. Ces derniers remplacent l'ancienne notion de typesafe, et sont beaucoup plus compacts et plus faciles à maintenir. Ils peuvent être utilisés pour répertorier des collections de valeurs telles que les jours de la semaine ou les suite d'un jeu de cartes, ou tout jeu de constantes fixe, tels que les commandes d'un menu.
Ces classes anonymes seront affichées sur l'onglet Classificateurs internes de la feuille de propriétés de classe Enum :
La classe enum Opération, avec une classe anonyme pour chaque EnumConstant afin de permettre différentes opérations arithmétiques, peut être représentée dans un diagrammes de classes comme suit :
Le code équivalant se présente comme suit :