Un attribut constant peut être défini en le munissant du modificateur final ; un attribut déclaré final ne peut être affecté qu'une seule fois, soit au moment de sa définition, soit dans le constructeur de la classe.
Ainsi :
final int MAX = 2;
déclare la constante MAX qui vaut 2. C'est néanmoins une constante d'instance car, si on initialise l'attribut dans le constructeur, l'initilisation peut être différente selon l'instance .
Si on déclare l'attribut par :
Vous pouvez regarder ce petit exemple de définition et d'utilisation de constantes :
class Constantes {
final int a = 10;
final int b;
static final int c = 100;
Constantes(int b) {
this.b = b;
}
}
class EssaiConstantes {
public static void main(String arg[]) {
Constantes desConstantes = new Constantes(2);
System.out.println("a = " + desConstantes.a + ", b = " + desConstantes.b + ", c = " + Constantes.c);
}
}
Il est obligatoire d'initialiser l'attribut b dans le constructeur car ce n'est pas fait explicitement au moment de la définition de b ; on ne pourra alors plus changer sa valeur, le compilateur ne l'autoriserait pas. Il est interdit d'initialiser à nouveau l'attribut a ou l'attribut c.
On obtient :
a = 10, b = 2, c = 100
Pour récupérer EssaiConstantes.java
© Charon Irène Télécom ParisTech 2010