Java avancé
Concepts avancés du Java
Contenu
1. Contrôle de l'exécution du programme............................................................................1
2. Initialisation et nettoyage....................................................................................................3
3. Cacher l'implémentation.....................................................................................................5
4. Réutiliser les classes.............................................................................................................6
5. Interfaces et classes internes...............................................................................................7
6. Gestion des erreurs avec les exceptions..........................................................................13
7. Interroger les types (Run-Time Type Identification)....................................................15
8. Collections d'objets............................................................................................................16
9. Sérialisation.........................................................................................................................22
10. Concurrence......................................................................................................................23
11. Le clonage d'objet.............................................................................................................28
12. Swing..................................................................................................................................29
1. Contrôle de l'exécution du programme
1.1 Évaluation paresseuse
Les expressions booléennes sont évaluées jusqu'à ce que le succès ou l'échec de
l'expression totale puisse être déterminé sans ambiguïté. En résultat, la fin d'une expression
logique peut ne pas être évaluée. Dans l'exemple suivant, si test1() est faux, test2() et test3()
ne seront pas exécutés.
if (test1() && test2() && test3()) {
System.out.println(“expression is true”);
} else {
System.out.println(“expression is false”);
}
1.2 Les opérateurs de décalage de bits
Aux opérateurs classiques '>>' et '<<', Java ajoute l'opérateur de décalage à droite non
signé '>>>', qui utilise l'extension avec des zéros sans se soucier du signe ; des zéros sont
insérés aux bits de poids forts. Le décalage signé à droite '>>' utilise l'extension de signe : si
la valeur est positive, des zéros sont insérés aux bits de poids forts, si elle est négative, des
uns sont insérés pour les bits de poids forts.
Si on décale un char, un byte ou un short, il sera promu en int avant de faire le décalage.
Tous les autres opérateurs de décalage ont le même effet qu'en C.
1.2.1 Exemple
int i=-1
École Nationale Supérieure d'Ingénieurs 6, Boulevard Maréchal Juin, F-14050 CAEN cedex
& Groupe de Laboratoires, C.N.R.S. http://www.ensicaen.fr