5.5 Dérivation et héritage 134
5.5.1 Variables masquées 135
5.5.2 Redéfinition de méthodes 138
5.5.3 this et super 141
5.5.4 Transtypage 142
5.5.5 Construction d'objets 143
5.5.6 Méthodes et classes abstraites 145
5.6 Paquetages et unités de compilation 146
5.6.1 Unités de compilation 146
5.6.2 À propos des noms des paquetages 147
5.6.3 Visibilité de classe 147
5.6.4 Importation de classes 148
5.6.5 Le paquetage anonyme 149
5.7 Visibilité des variables et des méthodes 150
5.7.1 Les modificateurs d'accès de base 150
5.7.2 Classes filles et visibilité 152
5.8 Interfaces 152
5.8.1 Les interfaces comme fonctions réflexes 155
5.8.2 Variables d'interface 156
5.8.3 Interfaces et paquetages 157
5.8.4 Sous-interfaces 157
5.9 Les classes Object et Class 157
5.9.1 Egalité 158
5.9.2 hashcode 159
5.9.3 java.lang.Class 159
5.9.4 Au cœur des tableaux 161
6 Les threads 165
6.1 Introduction aux threads 165
6.1.1 La classe Thread et l'interface Runnable 166
6.1.2 Contrôler les threads 170
6.1.3 La vie d'un thread 171
6.2 Applets et threads 172
6.3 Synchronisation 175
6.3.1 Séquentialiser des méthodes 176
6.3.2 wait() et notify() 178
6.3.3 Le distributeur de messages 180
6.4 Ordonnancement et priorité 185
6.4.1 Priorités 187
6.4.2 Rendre la main 188
7 Les classes de base 189
7.1 Chaînes de caractères 191
7.1.1 Les constructeurs de chaînes 191
7.1.2 Conversion vers une chaîne de caractères 193
7.1.3 Conversions à partir d'une chaîne de caractères 194
7.1.4 Comparaisons 194
7.1.5 Recherche 195
7.1.6 Modification 196
7.1.7 Méthodes de manipulation des chaînes de caractères 197
7.1.8 java.lang.StringBuffer 198
7.1.9 java.util.StringTokenizer 199
7.2 Outils mathématiques 201
7.2.1 java.lang.Math 202
7.2.2 Enveloppes des types de base 203
7.2.3 Nombres aléatoires 205
7.3 Dates 206
7.4 Vecteurs et tables de hachage 208
7.4.1 java.util.Vector 209
7.4.2 java.util.Enumeration 210
7.4.3 java.util.Hashtable 211
7.4.4 java.util.Dictionary 214
7.5 Properties 215
7.5.1 Valeurs par défaut 215
7.5.2 Charger et sauvegarder 216
7.5.3 Propriétés du système 217
7.6 Le gestionnaire de sécurité 217
8 Les entrées-sorties 221
8.1 Streams 221
8.1.1 Entrées/sorties sur terminal 223
8.1.2 Enveloppes de streams 225
8.1.3 Tubes (pipes) 229
8.1.4 Chaînes de caractères et streams 231
8.1.5 rot13InputStream 232
8.2 Fichiers 234
8.2.1 java.io.File234
8.2.2 File Streams238
8.2.3 java.io.RandomAccessFile 240
8.2.4 Applets et fichiers 241
9 La programmation réseau 243
9.1 Sockets 244
9.1.1 Client Serveur 245
9.1.2 Le client DateAtHost 249
9.1.3 Le serveur PetitHttpd 251
9.2 Sockets datagramme 256
9.2.1 L'applet BattementCœur 257
9.3 Travailler avec les URL 261