:: Enseignements :: Master :: M1 :: 2007-2008 :: Java Avancé ::
[LOGO]

Quelques notes pour le TD4


Les énumérations

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.