4TABLE DES MATIÈRES
4.1 Héritage ................................................ 45
4.1.1 Redéfinition d’une méthode ou d’un attribut ......................... 46
4.1.2 Les méthodes disponibles pour toutes les classes ...................... 48
4.2 Classes, méthodes abstraites et interfaces .............................. 48
4.2.1 Classes et méthodes abstraites ................................ 49
4.2.2 Interfaces ........................................... 49
4.3 Exemple : modélisation générique d’un labyrinthe .......................... 50
5 Polymorphisme & compléments sur les collections 55
5.1 Polymorphisme ............................................ 56
5.2 Collections .............................................. 59
5.2.1 L’interface Collection .................................... 59
5.2.2 Les listes doublement chainées ................................ 60
5.2.3 les vecteurs ou tableaux dynamiques ............................. 61
5.2.4 Les tables de hachage et les collections partiellement ordonnées .............. 61
5.2.5 Les ensembles ........................................ 62
5.2.6 Les associations ....................................... 62
5.2.7 Les vues et les opérations de masse ............................. 62
5.2.8 Algorithmes ......................................... 63
II Java Developpment Kit et quelques compléments incontournables 65
6 Découverte des principales commandes du JDK et des bibliothèques de Java 67
6.1 Premiers pas en Java avec le JDK ................................... 67
6.2 Outils de développement ....................................... 68
6.2.1 Compilation : javac (Java Compiler) ............................ 68
6.2.2 Exécution d’un programme : java ............................. 69
6.2.3 Génération automatisée de la documentation : javadoc (Java DOCumentation) ..... 70
6.2.4 Création d’archives : jar (Java aRchive) .......................... 70
6.2.5 Débogage : jdb (Java DeBugger) .............................. 71
6.2.6 javap (Java Disassembler) .................................. 71
6.2.7 javah (Java C Header generators) ............................... 71
6.2.8 Génération de services web : wsgen (côté serveur), wsimport (côté client) ....... 71
6.2.9 Exécution d’une application java distante : javaws (Java WebStart) ............ 71
6.2.10 Génération d’applications réparties : rmic (Java Remothe Method Invocation Compiler) . 71
6.3 Principales bibliothèques ....................................... 71
6.3.1 Interfaces graphiques : java.awt et javax.swing ................... 72
6.3.2 java.lang ......................................... 72
6.3.3 Entrées-Sortie : java.io .................................. 72
6.3.4 Réseaux : java.net .................................... 73
6.3.5 java.util ............................................ 73
7 Contrôle des erreurs : débogage, tests unitaires et exceptions 75
7.1 Débogage ............................................... 76
7.1.1 En ligne de commande : jdb ................................ 76
7.1.2 Dans Eclipse ......................................... 79
7.2 Tests unitaires ............................................. 79
7.3 Exceptions ............................................... 80
8 Entrées-sorties : Flux, Fichiers, Sérialisation, XML 87
8.1 Flux en entrée/sortie ......................................... 87
8.1.1 Traitement des erreurs d’entrée/sortie ............................ 88
8.1.2 Les flux d’octets ....................................... 88