
ii
Le paquet des réflexions : java.lang.reflect . 54
Traitement XML . . . . . . . . . . . . . . . 55
Le paquet SQL : java.sql . . . . . . . . . . . 55
Le paquet RMI : java.rmi . . . . . . . . . . . 56
Le paquet réseau : java.net . . . . . . . . . 57
Le paquet de sécurité: java.security . . . . . 57
Principales classes java.lang . . . . . . . . . . 58
La classe Object : java.lang.Object . . . . . 58
Classes d’enveloppe de type. . . . . . . . . 58
La classe Math : java.lang.Math . . . . . . . 59
La classe String : java.lang.String . . . . . . 60
La classe StringBuffer :
java.lang.StringBuffer. . . . . . . . . . . . 62
La classe System : java.lang.System . . . . 63
Principales classes java.util . . . . . . . . . . . 64
L’interface Enumeration :
java.util.Enumeration . . . . . . . . . . . . 64
La classe Vector : java.util.Vector . . . . . . 65
Principales classes java.io . . . . . . . . . . . 67
Classes de flux d’entrée . . . . . . . . . . . 67
Classe InputStream : java.io.InputStream 68
Classe FileInputStream :
java.io.FileInputStream . . . . . . . . . 68
Classes de flux de sortie . . . . . . . . . . . 70
Classe OutputStream :
java.io.OutputStream . . . . . . . . . . 70
Classe PrintStream : java.io.PrintStream . 71
Classe BufferedOutputStream :
java.io.BufferedOutputStream . . . . . . 71
Classe DataOutputStream :
java.io.DataOutputStream . . . . . . . . 72
Classe FileOutputStream :
java.io.FileOutputStream . . . . . . . . 73
Classes de fichiers . . . . . . . . . . . . . . 74
Classe File : java.io.File . . . . . . . . . . 74
Classe RandomAccessFile :
java.io.RandomAccessFile . . . . . . . 75
La classe StreamTokenizer :
java.io.StreamTokenizer . . . . . . . . . . 76
Chapitre 6
Programmation orientée objet
dans Java 79
Classes . . . . . . . . . . . . . . . . . . . . . 80
Déclaration et instanciation des classes . . . 80
Données membre . . . . . . . . . . . . . . 81
Méthodes de classe . . . . . . . . . . . . . 81
Constructeurs et finaliseurs . . . . . . . . . 82
Etude de cas : Exemple simple d’OOP . . . 82
Héritage de classe . . . . . . . . . . . . . . 86
Appel du constructeur du parent . . . . . 89
Modificateurs d’accès . . . . . . . . . . . . 89
Accès depuis l’intérieur du paquet
d’une classe. . . . . . . . . . . . . . . 90
Accès depuis l’extérieur d’un paquet . . . 90
Méthodes d’accès . . . . . . . . . . . . . . 91
Classes abstraites . . . . . . . . . . . . . . 94
Polymorphisme . . . . . . . . . . . . . . . . . 95
Utilisation des interfaces. . . . . . . . . . . 96
Ajout de deux nouveaux boutons . . . . . . 99
Exécution de votre application. . . . . . . . 101
Paquets Java . . . . . . . . . . . . . . . . . .102
L’instruction import . . . . . . . . . . . . . . 102
Déclaration des paquets . . . . . . . . . . .102
Chapitre 7
Techniques de thread 105
Cycle de vie d’un thread . . . . . . . . . . . . 105
Personnalisation de la méthode run() . . . . 106
Sous-classement de la classe Thread . . 106
Implémentation de l’interface Runnable . 107
Définition d’un thread . . . . . . . . . . . . 109
Démarrage d’un thread . . . . . . . . . . . 109
Rendre un thread non exécutable . . . . . . 110
Arrêt d’un thread. . . . . . . . . . . . . . .110
Priorité attribuée aux threads . . . . . . . . . . 111
Temps partagé. . . . . . . . . . . . . . . . 111
Threads synchronisés . . . . . . . . . . . . . 111
Groupes de threads. . . . . . . . . . . . . . . 112
Chapitre 8
Sérialisation 113
Pourquoi sérialiser ? . . . . . . . . . . . . . . 113
Sérialisation Java . . . . . . . . . . . . . . . . 114
Utilisation de l’interface Serializable . . . . . 114
Utilisation des flux de sortie. . . . . . . . . . . 116
Méthodes ObjectOutputStream . . . . . . .117
Utilisation des flux d’entrée . . . . . . . . . . . 118
Méthodes ObjectInputStream . . . . . . . . 119
Ecriture et lecture des flux d’objets . . . . . . . 120
Chapitre 9
Introduction à la machine
virtuelle Java 121
Sécurité de la machine virtuelle Java. . . . . . 123
Le modèle de sécurité. . . . . . . . . . . . 123
Le vérificateur Java . . . . . . . . . . . . 123