Cours Java
Cours Java
HAMMAMI Hamza
2018-2019
PLAN DU COURS
Chapitre 1 : Introduction générale
Chapitre 2 : Les classes et les objets
Chapitre 3 : Les tableaux et les chaînes de caractères
Chapitre 4 : L'héritage et le polymorphisme
Chapitre 5 : Les classes abstraites et les interfaces
Chapitre 6 : Les exceptions
Etudiant
matricule
nom
specialite
Niveau
groupe Classe Etudiant
changer spécialité
changer niveau
Exemple:
La classe Etudiant hérite de la classe Personne.
fonction de l’objet
fonction données
globales Attributs
fonction de l’objet
Méthodee
fonction de l’objet
Attributs
Méthodes de l’objet
de l’objet
▪ Pour plus de commodité, on peut utiliser des éditeurs tels que : Eclipse, Blue J,
NetBeans, etc.
(1) : Compilation
(2) : Interprétation
(3) Exécution
▪ Compilation :
Les sources JAVA doivent être compilées afin de
générer le ByteCode. Les fichiers générés ont
l'extension ".class".
▪ Interprétation :
L’interprétation du Bytecode est faite par la MVJ
Cours Java – Dr. HAMMAMI Hamza 23
2.5.STRUCTURE GÉNÉRALE D’UNE
APPLICATION JAVA
▪ Une application JAVA possède un point d'entrée
unique qui est la méthode (ou fonction) "main()" de
prototype :
▪ Il existe des contrôles d'utilisation d'une classe et des contrôles d’accès aux
propriétés.
▪ Un objet peut se comporter comme une boîte noire (le contenu est masqué par
des contrôles d'accès).
[private/public/protected][static] [final]
type_attribut nom_attribut [= valeur];
[private/public/protected]
[static][final/abstract] type_de_retour nom_méthode (liste paramètres
)
{
// déclaration des variables locales;
[type_de_retour var_résultat;]
// instructions de la méthode
[return var_résultat;]
}
Cours Java – Dr. HAMMAMI Hamza 39
▪ [private, public et protected] : des modificateurs d'accès
autorisant l'appel aux méthodes de la classe
Exemple :
class Etudiant // par défaut elle est privée au package
{
private int matricule;
private String nom;
private int niveau;
public String couleur_chemise;
Remarque :
En cas d’absence d’un constructeur implémenté, JAVA offre un
constructeur par défaut qui initialise les attributs de l'objet par
des valeurs par défaut (0 pour int, null pour les références aux
objets, …)
public Etudiant()
{matricule = 12; nom= "Mohamed"; niveau=1; couleur_chemise= "bleue";
nbEtudiant ++;}
public Etudiant(int m)
{matricule = m; nom= "Rami"; niveau=2; couleur_chemise= "bleue";
nbEtudiant++;}
public Etudiant(int m,String n)
{matricule = m; nom= n; niveau=2;couleur_chemise= "bleue"; nbEtudiant++; }
public Etudiant(int m,String n,couleur_chemise c)
{matricule = m; nom= n; niveau=1; couleur_chemise=c; nbEtudiant++; }
..
.
protected void finalize()
Cours Java – Dr. HAMMAMI Hamza 46
{ nbEtudiant--; } }
4.L’INSTANCIATION DES OBJETS
4.1. Référence d'un objet
▪ Les références d'objets sont des variables de type classe qui
permettent de désigner des objets à la manière des pointeurs
en C (sans manipulation directe d'adresse).
▪ La référence qui ne pointe sur aucun objet contient la valeur
"null".
▪ Il est possible d'avoir à un instant t plusieurs références pour
désigner un même objet.
▪ Les opérateurs possibles sur les références d'objets sont : new,
=, ==, != (tester si deux références désignent un même objet) et
instanceof.
Exemple :
public class TestEtudiant
{
public static void main(String [ ] args)
{
Etudiant e1;
e1 = new Etudiant(); // e1 une référence sur un objet
}
Cours Java – Dr. HAMMAMI Hamza 49
5. MANIPULATION D’UN OBJET
5.1. Aperçu sur les droits d’accès aux
membres d’un objet
class Etudiant
{ private int matricule;
public String couleur_chemise;
…
public Etudiant (int matricule, String couleur_chemise)
//paramètres portant le même nom que les attributs
{
this.matricule = matricule;
this.couleur_chemise = couleur_chemise;
}
…
}
Exemple :
…
if (e1 instanceof Etudiant)
// expression évaluée à vrai ou faux
…
} //Fin de classe
Cours Java – Dr. HAMMAMI Hamza 61
public class Exemple // Hypothèse : les 3 classes dans un même package
{
public static void main(String [ ] arg)
{
Etudiant e1, e2, e3;
Stage st1;
st1 = new Stage ("Sujet1", " STEG" , "1mois"); //st1 référence sur un objet stage
e3 = new Etudiant (45,“Ali", 2, "Bleue",new Stage ("Sujet 2", " PTT" , "2mois"));
// 2ème constructeur
e3.changerSujetStage(“Sujet 3");
}
}
Cours Java – Dr. HAMMAMI Hamza 62
9. Quelques conventions utiles
Les prototypes des méthodes de lecture/modification des
attributs suivent une convention particulière :
class Exemple
{
public static void main (String arg[])
{
Etudiant e = new Etudiant();
e.setMatricule(99);
System.out.println(matricule =+e.getMatricule());
}
}
Cours Java – Dr. HAMMAMI Hamza 64
▪ Généralement, on décrit dans chaque classe une méthode
ayant le prototype suivant :
public String toString()