Académique Documents
Professionnel Documents
Culture Documents
Plan
Introduction
Objets et classes
Hritage et polymorphisme
Classes abstraites et interfaces
Exceptions
Collections
Interface graphique
Entres-sorties
Applets
Threads
Sr
fortement typ
vrifications au chargement des classes et durant leur
excution
Dynamique et distribu
Classes charges en fonction des besoins (le plus souvent
par le rseau)
Permet le paralllisme de manire simple: facilits pour
distribuer les traitements entre plusieurs machines
Diffrentes versions
Java 1.02: 250 classes, lent
Java 1.1: 500 classes: un peu plus rapide
Java 2: 2300 classes (diffrents versions): beaucoup plus rapide
Java 5: 3270 classes
Java 6
3 ditions:
J2SE: Java 2 standard Edition; JDK = J2SE Development Kit, aussi appel
SDK (Software Development Kit) pour certaines versions
J2EE : Enterprise Edition qui ajoute les API pour crire des applications
installes sur les serveurs dans des applications distribues : servlet, JSP,
EJB,
J2ME : Micro Edition, version allge de Java pour crire des programmes
embarqus (cartes puce/Java card, tlphones portables,)
Premier programme
Nom de la classe
Nom de la mthode
La chane afficher
Programme Java
Compilateur: javac
Programme source
PremiereAppli.java
compilateur
Programme en bytecode,
indpendant de l'ordinateur
Bytecode
PremiereAppli.class
Plate-forme JAVA
Programme Java
API
JVM
Machine relle
Un IDE : NetBeans,Eclipse,
Fichier source
Fichier de classes
Mthode 1
instructions
Mthode 2
instructions
2 classes et 1 fichier
/** Modlise un point de coordonnes x, y */
public class Point {
private int x, y;
public Point(int x1, int y1) {
x = x1; y = y1;
}
public double distance(Point p) {
return Math.sqrt((x-p.x)*(x-p.x) + (y-p.y)*(y-p.y));
}
}
/** Teste la classe Point */
class TestPoint {
public static void main(String[] args) {
Point p1 = new Point(1, 2);
Point p2 = new Point(5, 1);
System.out.println("Distance : " + p1.distance(p2));
}
}
Fichier Point.java
Compilation et excution de la
classe Point
La compilation du fichier Point.java
javac Point.java fournit 2 fichiers classes : Point.class
et TestPoint.class
On lance lexcution de la classe TestPoint
qui a une mthode main():
java TestPoint
Fichier Point.java
Fichier TestPoint.java
Autre exemple
L'utilisateur fournit son age en argument de ligne de
commande.
public class Age {
public static void main(String args[]) {
int age;
age = Integer.parseInt(args[0]);
System.out.println("Vous avez " + age + " ans.");
}
}
Excution: java Age 5
Rsultat: Vous avez 5 ans
Applications indpendantes
et applets
indpendantes
Applets excutes dans lenvironnement/JVM dun
navigateur Web et charges par une page HTML
Application indpendante
Excution de la classe de lancement de lapplication
(dite classe principale ; main en anglais) ; par
exemple :
java TestPoint
java lance linterprtation du code de la
mthode main() de la classe TestPoint
Applet
<APPLET code="HelloApplet.class"
width=500
Dimensions de l'emplacement
rserv l'affichage de l'applet
height=300>
Votre navigateur ne peut excuter une applet
</APPLET>
</BODY>
</HTML>
import java.awt.Graphics;
import java.applet.Applet;
public class HelloApplet extends Applet {
public void paint(Graphics g) {
g.drawString("Hello world", 50, 25);
Zone o commencera
}
l'affichage : x = 50 pixels,
y = 25 pixels
}
Reprsente lemplacement
de la page Web o lapplet
saffichera
Serveur
HTTP
Client
HTTP
2. Chargement de la page Web
de la classe de lapplet
Excution de lapplet
Dans la JVM du client
Remarques
Le navigateur a sa propre machine virtuelle
Un programme Java spcial dmarr par le
navigateur va lancer certaines mthodes de la
classe Applet : init(), start(), stop(), destroy(), paint()
init() est excut seulement quand lapplet
est lance pour la premire fois
paint() dessine l'applet dans la page Web
Excution de lapplet
Soit:
A partir du navigateur
A partir de lappletviewer