SlideShare une entreprise Scribd logo
VI. Champs et méthodes de classe
1. Champs de classe (variable de classe)
Considérons la définition simpliste suivante:
class ClasseTest {
int n;
double y;
}
Chaque objet de type ClasseTest possède ses propres champs n et y.
Par exemple avec les déclarations
ClasseTest objA1=new ClasseTest(), objA2= new ClasseTest();
objA1.n et objA2.n désignent deux données différentes.
objA1.y et objA2.y désignent aussi deux données différents.
1
objA1.n
objA1.y
objet objA1
objA2.n
objA2.y
objet objA2
Certains attributs peuvent être partagés par toutes les
instances d’une classe. C’est-à-dire ils peuvent être définis
indépendamment des instances (objets):
Par exemple le nombre d’étudiants = le nombre d’objets
étudiant créés.
Ces attributs sont nommés champs de classe ou variables de
classe. Ils sont comparables aux «variables globales ».
Ces variables n’existent qu’en un seul exemplaire,
quel que soit le nombre d’objets de la classe. Elles sont
définies comme les attributs mais précédés du mot-clé static.
2
Les attributs statiques ne sont pas instanciés dans les objets
Considérons la classe:
class ClasseTest {
double y;
}
Soient objA1 et objA2 deux instances différentes.
ClasseTest objA1=new ClasseTest(), objA2=new ClasseTest();
static int n; // la valeur de n est partagée par toutes les instances
ClasseTest.n // champs (statique) de la classe ClasseTest
objA1 et objA2 partagent la même variable n:
- Pour y accéder, on utilise le nom de la classe
objA1.n et objA2.n désignent la même donnée.
La valeur de l’attribut n est indépendante de l’instance (objet).
3
objA1.n ou ClasseTest.n
objA1.y
objet objA1
objA2.y
objet objA2
objA2.n ou ClasseTest.n
4
Champs de classe (variable de classe)
Exemple1:
class ClasseTest {
int n;
double y;
}
public class MethodeStatic{
public static void main(String[] args) {
ClasseTest objA1=new ClasseTest();
ClasseTest objA2=new ClasseTest();
// objA2.n = ?
}
}
objA1.n +=4; // objA1.n vaut 4 puisque n vaut 0
// initialisation par défaut des attributs
// objA2.n vaut 0 : initialisation par défauts des attributs.
5
Exemple2:
class ClasseTest {
float y;
}
public class MethodeStatic{
public static void main(String[] args) {
ClasseTest objA1=new ClasseTest();
ClasseTest objA2=new ClasseTest();
// objA2.n = ?
}
}
static int n; // la valeur de n est partagée par toutes les instances
objA1.n +=4; // objA1.n vaut 4
// objA2 vaut 4 car champs statique .
// équivalent à ClasseTest.n=4;
6
 La classe Employé caractérisée par les attributs
code, nom et nbEmployés
 Les attributs code et nom sont des caractéristiques
de chaque objet Employé contrairement au champ
nbEmployés qui est une caractéristique
commune à tous les objets (attribut statique)
 Chaque objet, instance d’une classe, donne des
valeurs particulières à tous les attributs définis dans
sa classe sauf les attributs statiques ce qui détermine
son état
Attributs de la classe Employé
7
Champs de classe (variable de classe)
: Employé
code =1
nom ="jamil"
: Employé
code =2
nom ="alami "
2 objets de la classe
Employé
Un attribut statique d’une classe est un attribut qui appartient à la classe
et qui est partagé par tous les objets de cette classe. Un attribut statique est
considéré comme étant une variable globale à tous les objets.
Les attributs statiques ne sont pas instanciés dans les objets.
Employé
code : int
nom : String
nbEmployés : static int
8
Une variable de classe (précédée du mot clef static) est partagée par tous les objets de la même classe.
Au début lors de la création des
3 objets chacun des champs x
vaut -58 et des champs y vaut
20,
l'affichage par
System.out.println(...) donne les
résultats suivants qui
démontrent le partage de la
variable x par tous les objets.
Après exécution :
obj1.x = 101
obj1.y = 100
obj2.x = 101
obj2.y = 20
obj3.x = 101
obj3.y = 20
AppliStatic.x = 99
Variables de classe
Variable de classe
public class UneClasse
{
public static int compteur = 0;
public UneClasse ()
{
compteur++;
}
}
class AutreClasse
{
public void uneMethode()
{
int i = UneClasse.compteur;
}
}
Utilisation de la variable de classe
compteur dans le constructeur de
la classe
Utilisation de la variable de classe
compteur dans une autre classe
9
Exécution ???
class Obj
{ private static long nb=0 ;
public Obj()
{ System.out.print ("++creation objet Obj ; ") ;
nb ++ ;
System.out.println ("il y en a maintenant " + nb) ;
}
}
public class TstObj
{ public static void main (String args[])
{ Obj a ;
System.out.println ("Main 1") ;
a = new Obj() ;
System.out.println ("Main 2") ;
Obj b ;
System.out.println ("Main 3") ;
b = new Obj() ;
Obj c = new Obj() ;
System.out.println ("Main 4") ;
}
}
Exécution
Main 1
++ creation objet Obj ; il y en a maintenant 1
Main 2
Main 3
++ creation objet Obj ; il y en a maintenant 2
++ creation objet Obj ; il y en a maintenant 3
Main 4
Exemple 1 d’utilisation d’un champ de classe
10
2. Méthodes de classe
Ce sont des méthodes qui ont un rôle indépendant d’un objet
spécifique. Elles exécutent une action indépendante d’une
instance particulière de la classe.
La déclaration d’une méthode de classe se fait à l’aide du
mot clé static.
L’appel d’une telle méthode ne nécessite que le nom de la
classe correspondante.
Une méthode de classe ne peut utiliser que des variables de
classe et jamais des variables d'instance. Par contre, une méthode
d'instance peut accéder aux deux catégories de variables.
Une méthode de classe ne peut avoir la même signature
qu’une méthode d’instance
11
Exemple
class Test{
…
private static int n; // champs de classe
private float x; // champs usuel
… //ici, on ne peut pas accéder au champs x car champs usuel
… // ici on peut accéder au champs statique n
}
}
………
Test obj ;
Test.f() ; // appel la méthode de classe f de la classe Test
obj.f() ; // reste autorisé, mais déconseillé
public static void f() { // méthode de classe
12
Exécution
class Obj
{ private static long nb=0 ;
public Obj()
{ System.out.print ("++ creation objet Obj ; ") ;
nb ++ ;
System.out.println ("il y en a maintenant " + nb) ;
}
public static long nbObj ()
{ return nb ;
}
}
public class TstObj2
{ public static void main (String args[])
{ Obj a ;
System.out.println ("Main 1 : nb objets = " + Obj.nbObj() ) ;
a = new Obj() ;
System.out.println ("Main 2 : nb objets = " + Obj.nbObj() ) ;
Obj b ;
System.out.println ("Main 3 : nb objets = " + Obj.nbObj() ) ;
b = new Obj() ;
Obj c = new Obj() ;
System.out.println ("Main 4 : nb objets = " + Obj.nbObj() ) ;
}
}
Exécution
Main 1 : nb objets = 0
++ creation objet Obj ; il y en a maintenant 1
Main 2 : nb objets = 1
Main 3 : nb objets = 1
++ creation objet Obj ; il y en a maintenant 2
++ creation objet Obj ; il y en a maintenant 3
Main 4 : nb objets = 3
Exemple d’utilisation d’une méthode de classe
13
VII. Le mot clé final
L’attribut final indique que la valeur de la variable ne peut être
modifiée : on pourra lui donner une valeur une seule fois dans
le programme.
Variable d’instance final
• Une variable d’instance final est une constante pour chaque
objet.
• Une variable d'instance final peut ne pas être initialisée à sa
déclaration mais elle doit avoir une valeur à la sortie de tous
les constructeurs
14
Constantes de classe
• Usage
–
–
–
–
Ce sont des variables de classes déclarées avec le mot-clé final
Ce sont des constantes liées à une classe
Elles sont écrites en MAJUSCULES
Pour y accéder, il faut utiliser non pas un identificateur d’objet
mais le nom de la classe
Exemple:
public class Galerie {
public static final int MASSE_MAX = 150;
}
if (maVoiture.getWeightLimite() <= Galerie.MASSE_MAX)
{...}
15
Le mot réservé final
 Une classe est déclarée final lorsqu'on ne souhaite pas
qu'elle puisse être sous-classée. Par conséquent, ses
méthodes ne peuvent pas être redéfinies.
 Une méthode est déclarée final lorsqu'on ne souhaite
pas qu'elle puisse être redéfinie dans les classes
dérivées.
 Une variable déclarée final est une constante.
16
Classe java type
Une classe java types contient trois grands types de membres :
toujours déclarer les constructeurs après les attributs et
avant les autres méthodes.
Les constructeurs sont des méthodes particulières, vous devez
public class Rectangle {
// ( 1 ) A ttributs
private double L , l ;
// ( 2 ) Constructeurs
public Rectangle (double L , double l ) { . . . }
// ( 3 ) Méthodes
public double surface (double L , double l) { . . . }
}
Remarque
17

Contenu connexe

PDF
Java chap 04 surcharge des méthodes [mode de compatibilité]
PDF
Chap 03 poo en java partie1
PDF
TD Java POO
PPTX
Csharp2 : classes et objets
PDF
Chapitre 2 classe et objet
PDF
Part1
PDF
Chapitre 4 persistance des donnees
PPT
Cours java smi 2007 2008
Java chap 04 surcharge des méthodes [mode de compatibilité]
Chap 03 poo en java partie1
TD Java POO
Csharp2 : classes et objets
Chapitre 2 classe et objet
Part1
Chapitre 4 persistance des donnees
Cours java smi 2007 2008

Tendances (17)

PDF
Chapitre 3 elements de base de java
PPTX
Introduction à l’orienté objet en Python
PPTX
Csharp3 heritage-polymorphisme-interface
PPSX
Fondamentaux java
PDF
Chapitre 4 heritage et polymorphisme
PPTX
Cpp3 : heritage
PPTX
Cours de JAVA de base
PPTX
Les Classe en Java
PDF
Chapitre 5 classes abstraites et interfaces
PDF
Clonage d'objets
PPTX
PDF
Memo java
PDF
Les listes en Python
PPT
Java uik-chap4-poo3
PPT
Chapitre 2 poo classe objet c++
PDF
Université des langages scala
Chapitre 3 elements de base de java
Introduction à l’orienté objet en Python
Csharp3 heritage-polymorphisme-interface
Fondamentaux java
Chapitre 4 heritage et polymorphisme
Cpp3 : heritage
Cours de JAVA de base
Les Classe en Java
Chapitre 5 classes abstraites et interfaces
Clonage d'objets
Memo java
Les listes en Python
Java uik-chap4-poo3
Chapitre 2 poo classe objet c++
Université des langages scala
Publicité

En vedette (6)

PDF
La theorie des dependances et la normalisation des relations-base de données
PDF
Chap 02 poo en java
PDF
Arbre de décision
PDF
Théorie de normalisation-base de données
PDF
.logistique gestion des stock
PDF
Ch 01 poo
La theorie des dependances et la normalisation des relations-base de données
Chap 02 poo en java
Arbre de décision
Théorie de normalisation-base de données
.logistique gestion des stock
Ch 01 poo
Publicité

Similaire à Chap 03 poo en java partie2 (20)

PDF
POO-JAVA-partie-1.pdf
PDF
Chap 2--POO avec JAVA.pdf
PPTX
fdocuments.fr_chap-03-poo-en-java-partie1.pptx
PDF
Memojava 100604104941-phpapp02
PPTX
cours javaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
PDF
Classes et Objets.pdf
PDF
Note de cours de programmation avancée Université protestante de Lubumbashi P...
PPTX
Chapitre3_Classe_Objet (2024\2025) .pptx
PPT
Cours java smi 2007 2008
PDF
Héritage et Polymorphisme .pdf
PPTX
Cours5-heritage.pptx
PPTX
memento_java_3c.pptx
PPSX
Formation POO & Java (2ème séance)
PDF
Java cours n° 2 - classe-objet-constructeur
PDF
coursJavaOopmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm.pdf
PPTX
Deuxième partie.pptx
PPTX
Cpp2 : classes et objets
PPTX
Programmation orientée objet et java
PDF
Chapitre3 2013 POO
PDF
Diagramme de Classe
POO-JAVA-partie-1.pdf
Chap 2--POO avec JAVA.pdf
fdocuments.fr_chap-03-poo-en-java-partie1.pptx
Memojava 100604104941-phpapp02
cours javaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Classes et Objets.pdf
Note de cours de programmation avancée Université protestante de Lubumbashi P...
Chapitre3_Classe_Objet (2024\2025) .pptx
Cours java smi 2007 2008
Héritage et Polymorphisme .pdf
Cours5-heritage.pptx
memento_java_3c.pptx
Formation POO & Java (2ème séance)
Java cours n° 2 - classe-objet-constructeur
coursJavaOopmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm.pdf
Deuxième partie.pptx
Cpp2 : classes et objets
Programmation orientée objet et java
Chapitre3 2013 POO
Diagramme de Classe

Plus de Yassine Badri (14)

PDF
Conception des bases de données relationelles
PDF
exercices Corrigées du merise
PDF
base de données -note de cours
PDF
cours j2ee -présentation
PDF
exercices base de données - sql
PDF
exercices business intelligence
PDF
exercices gestion de stock
PDF
Exercice arbre de décision
PDF
script site e-commerce -php
PDF
les servlets-java EE
PDF
cours base de données
PDF
Cours php
PDF
les métiers d'informatique
PDF
les métiers d'informatique
Conception des bases de données relationelles
exercices Corrigées du merise
base de données -note de cours
cours j2ee -présentation
exercices base de données - sql
exercices business intelligence
exercices gestion de stock
Exercice arbre de décision
script site e-commerce -php
les servlets-java EE
cours base de données
Cours php
les métiers d'informatique
les métiers d'informatique

Dernier (20)

PPTX
Fondamentaux du LMD.pptx pour les etudiants
DOCX
ENDODONTIE CONSERVATRICE.docx faculté de médecine dentaire
PDF
🎓 Le Secret des Profs Captivants - 💡 Pourquoi l’oral est stratégique en class...
PPTX
Séminaire protection des personnes vulnérables.pptx
PPTX
le subjonctif présent, Conjugaison français
PPTX
GESTION PHYTO_10-1_ SESAME PRPS BF JUIN 2020.pptx
PPTX
SESSION1-SUPPORT-DE-COURS-FLEC-(Future leader en énergie au Cameroun)-CECOSDA...
PPTX
Présentation Projet Entreprise Minimaliste Moderne Sobre Blanc Noir.pptx
PPT
Etalonnage de débitmètres.Champ d'application
PPTX
Formation Equipement de protection .pptx
PPTX
SESSION4-SUPPORT-DE-COURS-FLEC-(Future leader en énergie au Cameroun)-CECOSDA...
PPT
le-subjonctif-présent, Grammaire, français
PPTX
Copie de Présentation Personal Branding J2025.pptx_20250610_120558_0000.pptx
PPTX
Hopital bonne sante.pptxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
PPT
مبادئ و هدف الحركة الكشفية عرض تقديمي.ppt
PPT
Les moyens de transport-2023.ppt french language teaching ppt
PPTX
Le rendez-vous de l'été.pptx Film français
PPTX
SESSION5-SUPPORT-DE-COURS-FLEC-(Future leader en énergie au Cameroun)-CECOSDA...
PDF
585-developpement-d-une-application-avec-python-fr-en-business.pdf
PPT
étude----- droit------ 2005---------.ppt
Fondamentaux du LMD.pptx pour les etudiants
ENDODONTIE CONSERVATRICE.docx faculté de médecine dentaire
🎓 Le Secret des Profs Captivants - 💡 Pourquoi l’oral est stratégique en class...
Séminaire protection des personnes vulnérables.pptx
le subjonctif présent, Conjugaison français
GESTION PHYTO_10-1_ SESAME PRPS BF JUIN 2020.pptx
SESSION1-SUPPORT-DE-COURS-FLEC-(Future leader en énergie au Cameroun)-CECOSDA...
Présentation Projet Entreprise Minimaliste Moderne Sobre Blanc Noir.pptx
Etalonnage de débitmètres.Champ d'application
Formation Equipement de protection .pptx
SESSION4-SUPPORT-DE-COURS-FLEC-(Future leader en énergie au Cameroun)-CECOSDA...
le-subjonctif-présent, Grammaire, français
Copie de Présentation Personal Branding J2025.pptx_20250610_120558_0000.pptx
Hopital bonne sante.pptxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
مبادئ و هدف الحركة الكشفية عرض تقديمي.ppt
Les moyens de transport-2023.ppt french language teaching ppt
Le rendez-vous de l'été.pptx Film français
SESSION5-SUPPORT-DE-COURS-FLEC-(Future leader en énergie au Cameroun)-CECOSDA...
585-developpement-d-une-application-avec-python-fr-en-business.pdf
étude----- droit------ 2005---------.ppt

Chap 03 poo en java partie2

  • 1. VI. Champs et méthodes de classe 1. Champs de classe (variable de classe) Considérons la définition simpliste suivante: class ClasseTest { int n; double y; } Chaque objet de type ClasseTest possède ses propres champs n et y. Par exemple avec les déclarations ClasseTest objA1=new ClasseTest(), objA2= new ClasseTest(); objA1.n et objA2.n désignent deux données différentes. objA1.y et objA2.y désignent aussi deux données différents. 1 objA1.n objA1.y objet objA1 objA2.n objA2.y objet objA2
  • 2. Certains attributs peuvent être partagés par toutes les instances d’une classe. C’est-à-dire ils peuvent être définis indépendamment des instances (objets): Par exemple le nombre d’étudiants = le nombre d’objets étudiant créés. Ces attributs sont nommés champs de classe ou variables de classe. Ils sont comparables aux «variables globales ». Ces variables n’existent qu’en un seul exemplaire, quel que soit le nombre d’objets de la classe. Elles sont définies comme les attributs mais précédés du mot-clé static. 2 Les attributs statiques ne sont pas instanciés dans les objets
  • 3. Considérons la classe: class ClasseTest { double y; } Soient objA1 et objA2 deux instances différentes. ClasseTest objA1=new ClasseTest(), objA2=new ClasseTest(); static int n; // la valeur de n est partagée par toutes les instances ClasseTest.n // champs (statique) de la classe ClasseTest objA1 et objA2 partagent la même variable n: - Pour y accéder, on utilise le nom de la classe objA1.n et objA2.n désignent la même donnée. La valeur de l’attribut n est indépendante de l’instance (objet). 3 objA1.n ou ClasseTest.n objA1.y objet objA1 objA2.y objet objA2 objA2.n ou ClasseTest.n
  • 4. 4 Champs de classe (variable de classe)
  • 5. Exemple1: class ClasseTest { int n; double y; } public class MethodeStatic{ public static void main(String[] args) { ClasseTest objA1=new ClasseTest(); ClasseTest objA2=new ClasseTest(); // objA2.n = ? } } objA1.n +=4; // objA1.n vaut 4 puisque n vaut 0 // initialisation par défaut des attributs // objA2.n vaut 0 : initialisation par défauts des attributs. 5
  • 6. Exemple2: class ClasseTest { float y; } public class MethodeStatic{ public static void main(String[] args) { ClasseTest objA1=new ClasseTest(); ClasseTest objA2=new ClasseTest(); // objA2.n = ? } } static int n; // la valeur de n est partagée par toutes les instances objA1.n +=4; // objA1.n vaut 4 // objA2 vaut 4 car champs statique . // équivalent à ClasseTest.n=4; 6
  • 7.  La classe Employé caractérisée par les attributs code, nom et nbEmployés  Les attributs code et nom sont des caractéristiques de chaque objet Employé contrairement au champ nbEmployés qui est une caractéristique commune à tous les objets (attribut statique)  Chaque objet, instance d’une classe, donne des valeurs particulières à tous les attributs définis dans sa classe sauf les attributs statiques ce qui détermine son état Attributs de la classe Employé 7 Champs de classe (variable de classe) : Employé code =1 nom ="jamil" : Employé code =2 nom ="alami " 2 objets de la classe Employé Un attribut statique d’une classe est un attribut qui appartient à la classe et qui est partagé par tous les objets de cette classe. Un attribut statique est considéré comme étant une variable globale à tous les objets. Les attributs statiques ne sont pas instanciés dans les objets. Employé code : int nom : String nbEmployés : static int
  • 8. 8 Une variable de classe (précédée du mot clef static) est partagée par tous les objets de la même classe. Au début lors de la création des 3 objets chacun des champs x vaut -58 et des champs y vaut 20, l'affichage par System.out.println(...) donne les résultats suivants qui démontrent le partage de la variable x par tous les objets. Après exécution : obj1.x = 101 obj1.y = 100 obj2.x = 101 obj2.y = 20 obj3.x = 101 obj3.y = 20 AppliStatic.x = 99
  • 9. Variables de classe Variable de classe public class UneClasse { public static int compteur = 0; public UneClasse () { compteur++; } } class AutreClasse { public void uneMethode() { int i = UneClasse.compteur; } } Utilisation de la variable de classe compteur dans le constructeur de la classe Utilisation de la variable de classe compteur dans une autre classe 9
  • 10. Exécution ??? class Obj { private static long nb=0 ; public Obj() { System.out.print ("++creation objet Obj ; ") ; nb ++ ; System.out.println ("il y en a maintenant " + nb) ; } } public class TstObj { public static void main (String args[]) { Obj a ; System.out.println ("Main 1") ; a = new Obj() ; System.out.println ("Main 2") ; Obj b ; System.out.println ("Main 3") ; b = new Obj() ; Obj c = new Obj() ; System.out.println ("Main 4") ; } } Exécution Main 1 ++ creation objet Obj ; il y en a maintenant 1 Main 2 Main 3 ++ creation objet Obj ; il y en a maintenant 2 ++ creation objet Obj ; il y en a maintenant 3 Main 4 Exemple 1 d’utilisation d’un champ de classe 10
  • 11. 2. Méthodes de classe Ce sont des méthodes qui ont un rôle indépendant d’un objet spécifique. Elles exécutent une action indépendante d’une instance particulière de la classe. La déclaration d’une méthode de classe se fait à l’aide du mot clé static. L’appel d’une telle méthode ne nécessite que le nom de la classe correspondante. Une méthode de classe ne peut utiliser que des variables de classe et jamais des variables d'instance. Par contre, une méthode d'instance peut accéder aux deux catégories de variables. Une méthode de classe ne peut avoir la même signature qu’une méthode d’instance 11
  • 12. Exemple class Test{ … private static int n; // champs de classe private float x; // champs usuel … //ici, on ne peut pas accéder au champs x car champs usuel … // ici on peut accéder au champs statique n } } ……… Test obj ; Test.f() ; // appel la méthode de classe f de la classe Test obj.f() ; // reste autorisé, mais déconseillé public static void f() { // méthode de classe 12
  • 13. Exécution class Obj { private static long nb=0 ; public Obj() { System.out.print ("++ creation objet Obj ; ") ; nb ++ ; System.out.println ("il y en a maintenant " + nb) ; } public static long nbObj () { return nb ; } } public class TstObj2 { public static void main (String args[]) { Obj a ; System.out.println ("Main 1 : nb objets = " + Obj.nbObj() ) ; a = new Obj() ; System.out.println ("Main 2 : nb objets = " + Obj.nbObj() ) ; Obj b ; System.out.println ("Main 3 : nb objets = " + Obj.nbObj() ) ; b = new Obj() ; Obj c = new Obj() ; System.out.println ("Main 4 : nb objets = " + Obj.nbObj() ) ; } } Exécution Main 1 : nb objets = 0 ++ creation objet Obj ; il y en a maintenant 1 Main 2 : nb objets = 1 Main 3 : nb objets = 1 ++ creation objet Obj ; il y en a maintenant 2 ++ creation objet Obj ; il y en a maintenant 3 Main 4 : nb objets = 3 Exemple d’utilisation d’une méthode de classe 13
  • 14. VII. Le mot clé final L’attribut final indique que la valeur de la variable ne peut être modifiée : on pourra lui donner une valeur une seule fois dans le programme. Variable d’instance final • Une variable d’instance final est une constante pour chaque objet. • Une variable d'instance final peut ne pas être initialisée à sa déclaration mais elle doit avoir une valeur à la sortie de tous les constructeurs 14
  • 15. Constantes de classe • Usage – – – – Ce sont des variables de classes déclarées avec le mot-clé final Ce sont des constantes liées à une classe Elles sont écrites en MAJUSCULES Pour y accéder, il faut utiliser non pas un identificateur d’objet mais le nom de la classe Exemple: public class Galerie { public static final int MASSE_MAX = 150; } if (maVoiture.getWeightLimite() <= Galerie.MASSE_MAX) {...} 15
  • 16. Le mot réservé final  Une classe est déclarée final lorsqu'on ne souhaite pas qu'elle puisse être sous-classée. Par conséquent, ses méthodes ne peuvent pas être redéfinies.  Une méthode est déclarée final lorsqu'on ne souhaite pas qu'elle puisse être redéfinie dans les classes dérivées.  Une variable déclarée final est une constante. 16
  • 17. Classe java type Une classe java types contient trois grands types de membres : toujours déclarer les constructeurs après les attributs et avant les autres méthodes. Les constructeurs sont des méthodes particulières, vous devez public class Rectangle { // ( 1 ) A ttributs private double L , l ; // ( 2 ) Constructeurs public Rectangle (double L , double l ) { . . . } // ( 3 ) Méthodes public double surface (double L , double l) { . . . } } Remarque 17