:: Enseignements :: Master :: M1 :: 2007-2008 :: Java Avancé ::
![[LOGO]](http://igm.univ-mlv.fr/ens/resources/mlv.png) | Quelques notes pour le TD4 |
Les énumérations
-
Une énumération est un type qui regroupe un ensemble de
constantes
-
Les valeurs de l'énumération sont des objets constants (
final
) et unique (
static
) qui possède une valeur entière unique et un nom (
name()
) unique.
-
Une énumération connait l'ensemble de ses valeurs (
values()
) et est capable d'associer un nom à une valeur (
valueOf()
)
- Les énumération sans champs sont interdites
-
Les champs de l'énumération sont accessible par la
notation "."
- Ils sont static final par défaut.
- Ils peuvent être utilisés avec un import static
-
Les champs ont le type de l'énumération ou un sous-type
Ce dernier point est très important.
En effet, c'est pour cela qu'il est nécessaire de déclarer
toute méthode définie au sein d'un champ de l'énumération.
Dans le précédent exemple, la méthode
toto()
doit être déclarée comme méthode abstraite au sein de
l'énumération afin de permettre son appel sur les objets
MyStyles.STAR
et
MyStyles.REVERSE
. Une énumération peut être vue comme une classe abstraite.
Dans cette dernière, on peut définir partiellement le code
(champs et méthodes abstraites) mais également définir des
méthodes (qui seront par défaut
private
et
static
).
Les Generics
Définition et instantiation :
-
Le code du generics est vérifié lors de sa
définition
-
le compilateur transforme le code générique en code
classique
Il est possible en Java de déclarer :
- des types paramétrés
- des méthodes paramétrées
- des classes internes paramétrées
Seul le compilateur connait les types paramétrés. A
l'exécution, pour la VM, les types paramétrés n'existent
pas. Le compilateur traduit les types paramétrés et le code
d'appel en code classique.
Il faut spécifier un type lors de l'instantiation du
generics.
Tous les objets héritant de la classe
Object
, si l'on veut instancier un tableau de generics il faut le
faire à l'aide d'un tableau d'
Object
.
Dans une méthode paramétrée, la variable de type T est
déclarée entre les modificateurs et le type de retour.
© Université de Marne-la-Vallée