18Aug/090
Tipul Enum* (java.lang.Enum)
Câte ceva despre tipul Enum:
- un tip care conține un set de constante;
- un tip enum poate avea constructori, dar aceștia trebuie declarați după definirea constantelor și pot fi doar private;
- toate enum-urile sunt subtipuri ale clasei java.lang.Enum, prin urmare sunt comparabile și serializabile;
- la definirea constantelor se poate specifica o listă de parametri pentru fiecare, iar la încărcarea enum-ului pentru fiecare constantă se va apela constructorul corespunzător semnăturii ei;
- un enum poate fi declarat în cadrul unei alte clase, dar doar ca membru de prim nivel sau în cadrul unui membru static; toate enum-urile declarate în cadrul unei alte clase sunt implicit statice;
- deși un enum poate coține diferite metode abstracte, tipul nu va fi marcat ca și abstract, ca în cazul claselor obișnuite;
- fiecare constantă a unui enum poate implementa diferite metode specifice, sub forma unor clase anonime care sunt instanțiate la “runtime”;
- un enum poate implementa interfețe dar nu poate extinde;
- Compararea cu == sau cu equals este echivalentă în cazul constantelor unui enum;
*Conform Java 1.6
