Cet ouvrage est un manuel de référence destiné aux programmeurs Java™. Sa place de
prédilection se situe à côté de votre clavier pendant que vous programmez. La première
partie de ce livre se compose dune introduction rapide et directe au langage de program-
mation Java ainsi qu’aux API (Application Programming Interfaces, c’est-à-dire interfaces de
programmation pour les applications) qui forment le noyau de la plate-forme Java. La
seconde partie consiste en un guide de référence qui détaille de manière succincte chaque
classe et chaque interface formant ces API de base. Ce livre couvre les versions 1.0, 1.1, 1.2,
1.3, 1.4 et 5.0 de Java.
Modifications apportées à la cinquième édition
La cinquième édition de ce livre couvre Java 5.0. Ce numéro de version largement supé-
rieur à celui de la version précédente atteste du grand nombre de nouveautés apparues
dans le langage. Les trois nouveautés les plus importantes sont les types génériques, les
types énumérés et les annotations, qui font l’objet d’un chapitre entièrement nouveau. Les
programmeurs Java expérimentés qui souhaitent se familiariser immédiatement avec ces
nouveautés peuvent passer directement au chapitre 4.
Parmi les autres nouveautés de Java 5.0, citons :
L’instruction for/in, qui permet d’itérer facilement sur les tableaux et les collections
(cette instruction est parfois appelée « foreach »).
Les conversions autoboxing et auto-unboxing, qui convertissent automatiquement les
valeurs primitives en objets d’encapsulation, et vice-versa (par exemple, des valeurs
int en objets Integer).
Lesthodes varargs, qui permettent de définir et d’invoquer des méthodes accep-
tant un nombre arbitraire d’arguments.
Préface
Préface
javaNut.book Page xvii Dimanche, 29. janvier 2006 10:04 22
xviii Préface
Les valeurs de retour covariantes, qui permettent à une classe de redéfinir une
méthode d’une super-classe et de restreindre le type de retour de cette méthode.
La déclaration import static, qui permet d’importer les membres statiques d’un type
dans l’espace de noms d’un programme.
Bien que toutes ces caractéristiques soient nouvelles avec Java 5.0, aucune d’entre elles
nest suffisamment complexe pour justifier un chapitre indépendant. C’est pourquoi la
présentation de ces nouveautés est intégrée au chapitre 2.
Outre ces changements apportés au langage, Java 5.0 inclut également des modifications
apportées à la plate-forme Java. Parmi les améliorations les plus importantes, citons :
Les classes de collection du paquetage java.util ont été converties en types généri-
ques, prenant ainsi en charge les collections à typage fort. Cet aspect est traité au
chapitre 4.
Le paquetage java.util inclut également une nouvelle classe nommée Formatter.
Cette classe permet de produire du texte formaté à la fon de C, grâce aux méthodes
printf() et format(). Des exemples d’utilisation se trouvent au chapitre 5. Lentrée
du guide de référence consacrée à la classe java.util.Formatter présente ces
nombreuses options de formatage dans une table détaillée.
Le nouveau paquetage java.util.concurrent inclut de nombreuses classes utilitaires
pour la programmation à threads multiples. Le chapitre 5 en propose des exemples
d’utilisation.
Le paquetage java.lang possède trois nouveaux sous-paquetages : java.lang.annota-
tion, java.lang.instrument et java.lang.management. Ces paquetages prennent en
charge les annotations, ainsi que l’instrumentation, la gestion et le suivi d’un inter-
préteur Java en cours d’exécution. Bien que la présence de ces sous-paquetage au sein
du paquetage java.lang témoigne de leur importance, ils ne sont pas couramment
utilisés. Des exemples d’annotations se trouvent au chapitre 4 et un exemple simple
d’instrumentation et de gestion se trouve au chapitre 5.
De nouveaux paquetages ont été ajoutés à la hiérarchie de javax.xml.
javax.xml.validation prend en charge la validation de documents à l’aide de
schémas. javax.xml.xpath prend en charge le langage de requête XPath.
javax.xml.namespace offre une prise en charge simplifiée des espaces de noms XML.
Des exemples de validation et d’utilisation de XPath se trouvent au chapitre 5.
Afin de faire place nette pour toutes ces nouveautés, je me suis permis d’élaguer certaines
parties des versions précédentes de ce livre. Ainsi, j’ai supprimé du guide de référence la
présentation des paquetages java.beans, java.beans.beancontext, java.security.acl et
org.ietf.jgss. Les standards liés aux JavaBeans ne se sont pas véritablement imposés dans
le noyau des API Java et semblent nêtre pertinents que pour Swing et les API graphiques
apparentées. Ils n’ont donc plus leur place dans ce livre. Le paquetage java.security.acl
est obsolète depuis Java 1.2 et je me suis permis de le supprimer. Quant au paquetage
org.ietf.jgss, il n’intéresse que peu de lecteurs.
javaNut.book Page xviii Dimanche, 29. janvier 2006 10:04 22
Contenu de ce livre xix
Outre la suppression du paquetage java.beans du guide de référence, j’ai également
supprimé le chapitre qui leur était consacré dans la première partie du livre. Les règles
d’attribution des noms propres aux JavaBeans demeurent cependant utiles et ont été
déplacées au chapitre 7.
Contenu de ce livre
Les huit premiers chapitres de ce livre décrivent le langage Java, la plate-forme Java et les
outils de développement Java qui sont fournis avec le JDK (pour Java Development Kit,
c’est-à-dire kit de développement Java) de Sun. Les cinq premiers chapitres sont essentiels ;
les trois suivants traitent des thèmes qui n’intéresseront pas tous les programmeurs Java.
Chapitre 1 : Introduction
Ce chapitre donne une vue d’ensemble du langage Java et de la plate-forme Java et
présente les principales caractéristiques ainsi que les avantages de Java. Il se termine
par un exemple de programme Java et invite le nouveau programmeur Java à
l’analyser ligne par ligne.
Chapitre 2 : La syntaxe Java
Ce chapitre présente le langage de programmation Java en détail, y compris certains
changements propres à Java 5.0. Il s’agit d’un chapitre long et circonstancié. Les
programmeurs Java expérimentés peuvent l’utiliser comme référence du langage. Les
programmeurs maîtrisant bien des langages tels que C et C++ doivent être en mesure
de comprendre la syntaxe de Java en lisant ce chapitre. Cependant, ce chapitre ne
présuppose pas des années d’expérience en programmation ni même une familiarité
avec C ou C++. Même les programmeurs débutants bénéficiant d’une expérience
modeste doivent être capables d’apprendre la programmation Java en étudiant ce
chapitre avec attention.
Chapitre 3 : La programmation orientée objet en Java
Ce chapitre décrit comment la syntaxe Java de base traitée au chapitre 2 est utilisée
pour écrire des programmes orientés objet en Java. Ce chapitre ne présuppose
aucune expérience préalable en programmation orientée objet. Il peut être utilisé
comme tutoriel par les nouveaux programmeurs ou comme guide de référence par
les programmeurs Java expérimentés.
Chapitre 4 : Nouveautés du langage Java 5.0
Ce chapitre documente les trois nouveautés les plus importantes de Java 5.0 : les
types génériques, les types énumérés et les annotations. Si vous connaissez les éditions
précédentes de ce livre, vous pouvez passer directement à ce chapitre.
Chapitre 5 : La plate-forme Java
Ce chapitre consiste en une vue d’ensemble des API Java essentielles traitées dans ce
livre. Il contient de nombreux petits exemples qui montrent comment exécuter des
tâches courantes avec les classes et interfaces formant la plate-forme Java. Les
programmeurs qui débutent en Java, et particulièrement ceux qui apprennent mieux
par l’exemple, apprécieront particulièrement ce chapitre.
javaNut.book Page xix Dimanche, 29. janvier 2006 10:04 22
xx Préface
Chapitre 6 : La sécurité en Java
Ce chapitre explique larchitecture de la sécurité en Java permettant à du code non
fiable de s’exécuter dans un environnement sécurisé depuis lequel il ne peut pas
infliger de dommages au système hôte. Il est important pour tous les programmeurs
Java de posséder des connaissances de base relatives aux mécanismes de sécurité en
Java.
Chapitre 7 : Conventions de programmation et de documentation en Java
Ce chapitre couvre les conventions de programmation Java importantes et largement
adoptées, y compris les conventions d’attribution de noms propres aux JavaBeans. Il
explique également comment rendre votre code Java auto-documenté en incluant
des commentaires de documentation spécialement formatés.
Chapitre 8 : Outils de développement Java
Le JDK fourni par Sun comprend un certain nombre d’outils de développement Java
utiles, principalement l’interpréteur Java et le compilateur Java. Ce chapitre décrit ces
outils.
Ces huit premiers chapitres vous enseignent le langage Java et vous donnent le niveau suf-
fisant pour utiliser activement les API de Java. La seconde partie du livre est composée
d’un guide de référence succinct mais détaillé des API, formaté pour un confort d’utilisa-
tion optimal. Donnez-vous la peine de lire la section Comment utiliser ce guide de référence,
qui apparaît au début de la section de référence; elle explique comment en tirer le
meilleur parti. Notez également que les chapitres du guide de référence sont suivis d’un
dernier chapitre intituIndex des classes, méthodes et des champs. Cet index particulier vous
permet de chercher le nom d’une classe et de trouver le paquetage dans lequel il se trouve,
ou de chercher le nom dune méthode ou dun champ et de découvrir la classe dans
laquelle il ou elle est définie.
Ouvrages apparentés
O’Reilly consacre une collection entière de livres à la programmation Java, y compris
plusieurs ouvrages qui accompagnent celui-ci. Les compagnons du présent ouvrage sont :
Java Examples in a Nutshell
Ce livre contient des centaines d’exemples complets et fonctionnels illustrant de
nombreuses tâches courantes de programmation Java, en utilisant le noyau des API,
les classes distribuées et les classes graphiques. Exemples en Java in a Nutshell ressemble
au chapitre 4 du présent ouvrage, mais largement étendu en largeur et en profon-
deur, où tous les extraits de code sont complétés sous la forme d’exemples
fonctionnels. Il s’agit d’un livre particulière valable pour les lecteurs qui apprennent
facilement en expérimentant du code existant.
javaNut.book Page xx Dimanche, 29. janvier 2006 10:04 22
Exemples en ligne xxi
Java Enterprise in a Nutshell
Ce livre représente un tutoriel succint et un guide de référence des API distribuées de
Java, telles que JDBC, RMI, JNDI et CORBA. Il traite également des outils tels que
Hibernate, Struts, ant, JUnit et XDoclet.
J2ME in a Nutshell
Ce livre représente un tutoriel et un guide de référence des API graphiques, réseau et
d’accès aux bases de données de la plate-forme Java 2, Édition Micro (J2ME).
Vous pouvez trouver une liste complète des livres traitant de Java publiés par O’Reilly &
Associates à l’adresse http://java.oreilly.com/1. Les livres qui se concentrent sur les API Java de
base, comme le fait le présent ouvrage, se composent de :
Learning Java, de Pat Niemeyer et Jonathan Knudsen
Une introduction exhaustive à Java, avec un accent porté sur la programmation Java
côté client.
Java Swing, de Marc Loy, Robert Eckstein, Dave Wood, James Elliott et Brian Cole
Ce livre, qui propose une excellente présentation des API de Swing, est incontour-
nable pour les développeurs d’interfaces utilisateur graphiques.
Java Threads, de Scott Oaks et Henry Wong
Java facilite la programmation en threads mais son utilisation correcte peut s’avérer
délicate. Ce livre explique tout ce que vous devez connaître sur le sujet.
Java I/O, de Elliotte Rusty Harold
Larchitecture des entrées/sorties Java basée sur les flux est un concept d’une rare
beauté. Ce livre la traite avec la précision qu’elle mérite.
Java Network Programming, de Elliotte Rusty Harold
Ce livre traite en profondeur des API Java relatives à l’interconnexion de réseaux.
Java Security, de Scott Oaks
Ce livre explique en détail les mécanismes de contrôle d’accès de Java et explore égale-
ment les mécanismes d’authentification des signatures numériques et des message digest.
Java Cryptography, de Jonathan Knudsen
Ce livre décrit de façon approfondie l’Extension de Cryptographie Java, les paquetages
javax.crypto.*
, et tout ce que vous devez savoir à propos de la cryptographie en Java.
Exemples en ligne
Les exemples de ce livre sont disponibles en ligne et peuvent être téléchargés depuis la
page web du livre.
1.
NdT :
ou, pour les traductions françaises,
http://www.digitbooks.fr
javaNut.book Page xxi Dimanche, 29. janvier 2006 10:04 22
1 / 30 100%