Les constantes                        

Les constantes

           

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 :

final static int MAX = 2;
alors c'est un attribut de classe, donc indépendant de l'instance de la classe. C'est alors une constante de classe.
Par exemple, une constante PI est définie comme final static double dans la classe java.lang.Math et vous pouvez deviner la valeur approximative qui lui a été attribuée...

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