Vous êtes sur la page 1sur 46

Java

Standard
Edition
La programmation Orienté Objet en
Java.

Présenté par Ghislain AKINOCHO - Introduction à Java


PARTIE I
- Introduction à la POO
- Introduction à Java SE

Présenté par Ghislain AKINOCHO - Introduction à Java


Introduction

■ Java intègre les concepts les plus intéressants des technologies


informatiques récentes dans une plate-forme de développement riche
et homogène.

■ L’approche objet de ce langage, mais aussi sa portabilité et sa gratuité


en font un des outils de programmation idéaux pour s’initier à la
programmation objet.

Présenté par Ghislain AKINOCHO - Introduction à Java


Objectifs
développement de terminaux mobiles

Limites du C++
Architecture Adaptation des Interconnexion Historique
matérielle interfaces entre les différents Début des années 90 avec
incompatible graphiques appareils
le projet « green ».

Naissance de Java
création d’un nouveau langage plus adapté

Présenté par Ghislain AKINOCHO - Introduction à Java


Les caractéristiques de JAVA

■ Simplicité
– Tableaux et chaînes de caractères ➔ Objets (manipulation
aisée)
– Syntaxe proche des Langages C/C++
– Gestion de la mémoire (Garbagge Collector)
– Notion de pointeurs inexistante (source de nombreux bugs
en C/C++)

Présenté par Ghislain AKINOCHO - Introduction à Java


Les caractéristiques de JAVA

■ Orienté Objet
– Réutilisabilité des briques logicielles
– Facilité de correction et d’évolution du produit
– Maîtrise de la complexité
– Intègre les 3 principes fondamentaux des langages orientés
objet
■ l’Héritage
■ Le Polymorphisme
■ L’Encapsulation

Présenté par Ghislain AKINOCHO - Introduction à Java


Les caractéristiques de JAVA

■ Interprêté
– par la JVM (Java Virtual Machine).
■ Inconvénient : Plus lent.
■ Avantages : Compilation unique.

– Le compilateur produit du pseudo-code, pas du code machine


– Pas d’édition des liens (Obligatoire en C/C++)
■ Réalisée par la JVM à l’exécution

Présenté par Ghislain AKINOCHO - Introduction à Java


Les caractéristiques de JAVA

■ Distribué
– Développement d’applications client/serveur en architecture
distribuée
■ Invoquer des traitements depuis des machines distantes
■ Récupérer des données depuis des machines distantes

Présenté par Ghislain AKINOCHO - Introduction à Java


Les caractéristiques de JAVA

■ Robuste
– Un des objectifs de java est de produire des logiciels fiables.
– Langage très strict.
– Code source vérifié (syntaxe, types) à la compilation et à
l’exécution
■ Réduction des bugs et des problèmes d’incompatibilité de
versions.
– Gestion des pointeurs prise en charge par Java
■ Accès impossible par le programmeur
■ Evite les écrasements de données en RAM

Présenté par Ghislain AKINOCHO - Introduction à Java


Les caractéristiques de JAVA

■ Sécurisé
– Responsable : JRE (Java Runtime Environment) - Moteur
d’exécution
– Le processus ClassLoader
■ Chargement du byte code
■ Contrôles préalables (instructions suspectes)
– Possibilité de paramétrer la JRE pour le contrôle d’accès
– Protocoles d’accès au réseau (FTP, HTTP, Telnet …)

Présenté par Ghislain AKINOCHO - Introduction à Java


Les caractéristiques de JAVA

■ Indépendant des architectures


– Pas de production d’un code spécifique pour un type
d’architecture.
■ Utilisation du byte code : langage binaire intermédiaire
■ Avantages : compilation unique

– Une machine virtuelle par plate-forme cible


■ Nécessaire au fonctionnement d’un programme Java
■ Traduction du byte code en code natif.

Présenté par Ghislain AKINOCHO - Introduction à Java


Les caractéristiques de JAVA

■ Portable
– « Write Once Debug Everywhere »
– « Compile Once Run Anywhere »
■ WORA : « Write Once Run Anywhere »
■ Exécution sans modification sur toute plate-forme prenant en
charge Java
– Taille identique pour les types de données primaires quelle
que soit la plateforme cible.
■ Contrairement au C/C++

Présenté par Ghislain AKINOCHO - Introduction à Java


Les caractéristiques de JAVA

■ Performant
– JIT (Just In Time)
■ Processus d’optimisation de l’interprétation du code
■ Compilation à la volée du byte code Java en code natif ➔
Atteinte des mêmes performance qu’un programme écrit en C
ou C++.

Présenté par Ghislain AKINOCHO - Introduction à Java


Les caractéristiques de JAVA

■ Multitâche
– Mise en œuvre des applications multithreads
■ Exécution de plusieurs traitements simultanément
– Partage du temps CPU
– Partage des traitements entre plusieurs processeurs
– Synchronisation des threads qui partagent des informations.

Présenté par Ghislain AKINOCHO - Introduction à Java


Qu’est ce que « Java » ?

■ Un langage de programmation interprété et compilé.

■ Une plate-forme
– Constituée d’une partie logicielle s’exécutant sur de nombreuses
plateformes matérielles (terminaux mobile, ordinateur, etc …) et
différents systèmes d’exploitation disposant d’une JVM.

Présenté par Ghislain AKINOCHO - Introduction à Java


La plateforme « Java »

■ Trois principaux types d’applications avec des points d’entrée


différents sont pris en charge par Java :

– Application : qui s'exécute directement dans l’environnement


graphique de l’ordinateur où il est lancé

– Applet : qui s'introduit dans une page HTML et est exécuté via un
navigateur Web.
– Servlets : qui s’exécute sur un serveur Web.

Présenté par Ghislain AKINOCHO - Introduction à Java


La plateforme « Java »
Ses composants

1. La machine virtuelle Java (JVM),


– Elle fournit un environnement d'exécution homogène (malgré
l'hétérogénéité des systèmes d’exploitation et architectures matérielles
sous-djacentes)
2. L’interface de Programmation d’Application Java (API Java),
– API de bases,
– API d’accès aux données et d’intégration avec l’existant,
– API de gestion de l’interface avec l’utilisateur.
3. Les outils de déploiement des applications,
4. Les outils d’aide au développement,

Présenté par Ghislain AKINOCHO - Introduction à Java


La plateforme « Java »
Ses composants

La machine virtuelle Java (JVM),


– Chargement des classes et du byte code qu’elles contiennent.
■ A l’invocation de la création d’objets ou des membres d’une classe,
elle charge dynamiquement le byte code qui doit être interprété.

Présenté par Ghislain AKINOCHO - Introduction à Java


La plateforme « Java »
Ses composants

La machine virtuelle Java (JVM),


– Gestion de la mémoire avec le « garbage collector »

– Sécurité : Effectue les contrôles suivants :


■ Appel à de la mémoire non initialisée, conversions illégales de
types, manipulation des pointeurs en mémoire.

■ Pour les applets :


– Accès interdit aux périphériques de la machine sur laquelle
s’exécute l’applet.
– Accès au réseau uniquement vers l’hôte qui diffuse l’applet.

Présenté par Ghislain AKINOCHO - Introduction à Java


La plateforme « Java »
Les 3 éditions

■ Il existe différentes éditions de la plate-forme de développement


Java :

– Java Standard Edition (JSE) destiné au marché des ordinateurs de


bureau (Desktop)

– Java Micro Edition (JME) qui cible les terminaux portables, les cartes à
puces, les assistants personnels (PDA)

– Java Enterprise Edition (JEE) destiné au marché des applications


d’entreprises robustes et interopérables. Elle facilite le développement
et le déploiement d’applications distribuées à travers le web.

Présenté par Ghislain AKINOCHO - Introduction à Java


La plateforme « Java »

Présenté par Ghislain AKINOCHO - Introduction à Java


La plateforme « Java »
Ses composants

L’Interface de Programmation d’Application Java (API Java)


– Collection de composants logiciels préfabriqués fournissant de
nombreuses fonctionnalités
– plus de 220 packages (≈ librairies en langage C)
– plus de 4300 classes et interfaces préfabriqués directement
réutilisables.

– Possibilité d’ajout d’extensions.


■ Gestion des images 3D
■ Gestion des ports de communication de l’ordinateur, de la téléphonie, des
courriers électroniques …

Présenté par Ghislain AKINOCHO - Introduction à Java


L’environnement de
développement pour « Java »
■ Deux possibilités
– Le JDK (Java Development Kit) de Oracle
■ Référence pour dévélopper en Java et totalement gratuit.
■ Comporte tous les outils indispensables à la réalisation et l'exécution d'un
programme Java

– Les IDE (Integrate Development Environment)


■ Offrent une interface graphique et d’autres outils intéressants au-dessus
du JDK.
■ Le JDK ne fournissant malheureusement pas d’interface graphique qui
permet de rendre conviviale l’utilisation des ses outils.

Présenté par Ghislain AKINOCHO - Introduction à Java


L’environnement de
développement pour « Java »
■ Il existe sur le marché des IDE (payants et aussi gratuits
heureusement) qui fournissent une surcouche graphique au JDK.
1. Eclipse (http://www.eclipse.org)

2. IntelliJ IDEA (https://www.jetbrains.com/idea) – Community

3. NetBeans (http://www.netbeans.org)
4. …
Présenté par Ghislain AKINOCHO - Introduction à Java
Cycle de conception
d’un programme en « Java »

1. Plate-forme JSE de développement (JDK)


– Intimement liée à la plate-forme Utilisateur.
– http://www.oracle.com/technetwork/java/index.html
2. Utilisation des API standards de Java pour l’écriture des codes source.
– Structure de base d’un programme Java = la classe.
Compilation (javac.exe)
– Fichier généré du même nom que le fichier .java mais avec extension .class.
– Indépendant de toute plate-forme et système d’exploitation.
3. L’ntéprêtation (java.exe)
– Lancement de l’exécution du programme Java.

Présenté par Ghislain AKINOCHO - Introduction à Java


Cycle de conception
d’un programme en « Java »
Code source Java
Fichier HelloWorld.java

javac.exe
Compilation unique

HelloWorld.class bytecode interprêtable

java.exe
Interprêtation par la JVM
Interprêtation par la JVM
JVM Windows JVM Unix
Interprêté Interprêté
Binaire Win Binaire Unix

Exécution de l’application HelloWorld sur


différentes plateformes sans recompilation
Interprêtation par la JVM
JVM Mac Os
Interprêté
Binaire Mac

Présenté par Ghislain AKINOCHO - Introduction à Java


Installation du JDK

■ Téléchargement
– Dernière version du JDK pour l’environnement windows (Win32 ou Win64) depuis
le site d’Oracle :
■ http://www.oracle.com/technetwork/java/javase/downloads/index.html

Présenté par Ghislain AKINOCHO - Introduction à Java


Installation du JDK

■ Configuration de la variable d’environnement PATH


1. PATH est une variable d'environnement qui définit les répertoires où doivent
être cherchés les exécutables lorsqu'une commande est tapée dans
l'interpréteur de commandes MSDOS.
2. Pour utiliser java facilement, cette variable doit bien évidemment contenir le
nom du répertoire où se trouvent les binaires des outils java (javac, java, java
doc, jar ....).
3. Il est nécessaire de configurer le système pour indiquer dans quel répertoire
sont stockés les outils tels que:
» java.exe (machine virtuelle)
» javac.exe (compilateur).

Présenté par Ghislain AKINOCHO - Introduction à Java


Installation du JDK

■ Configuration de la variable d’environnement PATH


4. Pour se faire, il faut modifier la variable d’environnement PATH pour ajouter le
chemin d’accès vers le répertoire bin du jdk.
■ Si vous avez conservé les options par défaut lors de l’installation, ce chemin doit
être C:\Program Files\Java\jdk1.8.0_261\bin

5. La configuration peut se faire en ligne de commandes ou dans les paramètres


Windows (Variables d’environnement)

Présenté par Ghislain AKINOCHO - Introduction à Java


Installation du JDK

■ Configuration de la variable d’environnement PATH

Présenté par Ghislain AKINOCHO - Introduction à Java


Installation du JDK

■ Configuration de la variable d’environnement PATH

Présenté par Ghislain AKINOCHO - Introduction à Java


Installation du JDK

■ Test du JDK
1. Utilisez toujours la console Invite de commandes MS-DOS.
» La commande suivante vous permet de savoir si l’installation du SDK est
correct ou non : java -version

Cette commande affiche des


informations concernant la version de
la machine virtuelle Java.

Si vous obtenez un message du style : ’java’ n’est pas reconnu en tant que commande interne ou externe, un
programme exécutable ou un fichier de commandes, cela signifie que le répertoire où sont stockés les outils
du SDK n’a pas été trouvé par votre système. Vérifier la modification de la variable path.

Présenté par Ghislain AKINOCHO - Introduction à Java


Installation du JDK

■ Installation de la documentation du JDK et des API standards


1. A l’aide d’un utilitaire de décompression tel que Win zip, ouvrez le fichier
précédemment téléchargé.

2. Extrayez tous les fichiers qu’il contient vers la racine d’installation du JDK, par
défaut : C:\Program Files\Java\jdk1.8.0_261

3. Une fois les fichiers extraits, vous devez avoir un nouveau répertoire docs.

4. Dans le sous-répertoire docs\api, double cliquez sur le fichier


index.html.

Présenté par Ghislain AKINOCHO - Introduction à Java


Installation du JDK

Présenté par Ghislain AKINOCHO - Introduction à Java


Installation du JDK

■ Cette page est organisée en 3 fenêtres :


1. En haut à gauche se trouve la liste des packages (plus de 220).

2. En bas à gauche se trouve la liste des classes contenues dans le package


sélectionné dans la section précédente.

3. La plus grande fenêtre contient la description d’un composant sélectionné


dans la section précédente.

Présenté par Ghislain AKINOCHO - Introduction à Java


Création d’un programme Java

■ Création du fichier source


1. Un ou plusieurs fichiers de code source sont créés selon l’importance du
programme à réaliser.

2. Tout code Java est contenu à l’intérieur d’une classe qui est elle-même
contenue dans un fichier portant l’extension Java.

3. Plusieurs classes peuvent exister dans un même fichier .java mais une seule
peut être déclarée publique, et c’est cette classe qui donne son nom au fichier.

4. Un simple éditeur de texte, tel que le Bloc-notes de Windows est suffisant


pour écrire des sources Java.

Présenté par Ghislain AKINOCHO - Introduction à Java


Création d’un programme Java

■ La procédure principale

Présenté par Ghislain AKINOCHO - Introduction à Java


Création d’un programme Java

■ Compiler un fichier source


1. Utilisation de l’outil en ligne de commande javac fourni avec le JDK.
2. Ouvrir une console Invite de commandes.
3. Aller dans le dossier contenant le fichier source (.java), à l’aide de la
commande cd suivi d’un espace puis du chemin absolu du dossier qui contient
votre fichier source.
4. Lancer la commande : javac NomFichier.java
javac : compilateur java en ligne de commande
<nomFichier> : nom du fichier source Java.
.java : extension qui indique que le fichier est une source java

Présenté par Ghislain AKINOCHO - Introduction à Java


Création d’un programme Java

■ Compiler un fichier source


1. En cas de succès de la compilation aucun message n’est affiché et le fichier
NomFichier.class est créé dans le même dossier.

2. En cas d’échec (erreur détectée), le compilateur affiche à l’écran un texte


décrivant l’erreur.

3. Remontez toujours à la première erreur du texte renvoyé par javac, car les
dernières erreurs sont généralement liées aux premières de la liste.

Présenté par Ghislain AKINOCHO - Introduction à Java


Création d’un programme Java

■ Exemple de compilation réussie


Appel au
compilateur

Pas de nouvelle,
bonne nouvelle

Présenté par Ghislain AKINOCHO - Introduction à Java


Création d’un programme Java

■ Exemple d’une compilation en échec

Présenté par Ghislain AKINOCHO - Introduction à Java


Création d’un programme Java

■ Exécuter une application


1. Une application Java est un programme autonome, mais qui, pour être
exécuté, nécessite l’emploi d’un interpréteur Java (la machine virtuelle java)
qui charge la méthode main() de la classe principale de l’application.

2. Pour lancer l’exécution d’une application Java, il faut utiliser l’outil en ligne de
commande java fourni avec le JDK.

Présenté par Ghislain AKINOCHO - Introduction à Java


Création d’un programme Java

■ Exécuter une application


java NomFichier argument1 argument2 … argumentN

java Outil en ligne de commande qui lance l’exécution de la machine


virtuelle Java
NomFichier Est obligatoirement le nom du fichier binaire (.class) qui contient le
point d’entrée de l’application, la méthode main().

Important : ne pas mettre l’extension .class après le nom du fichier


car ceci est fait implicitement par la machine virtuelle Java
argument1 … Les différents arguments de la méthode main.
argumentN

Présenté par Ghislain AKINOCHO - Introduction à Java


Création d’un programme Java

■ Exécuter une application


java NomFichier argument1 argument2 … argumentN

Présenté par Ghislain AKINOCHO - Introduction à Java


Création d’un programme Java

■ Exécuter une application

1. Séparés par un espace de la classe contenant le main


2. Séparés les uns des autres par des espaces
3. L’indice du premier paramètre est à 0
4. Le premier paramètre n’est pas la classe

Présenté par Ghislain AKINOCHO - Introduction à Java


FIN Vers les
langage.
bases du

Présenté par Ghislain AKINOCHO - Introduction à Java

Vous aimerez peut-être aussi