Skip to content
Constante

Constante

Une constante est une variable qui ne peut plus être modifée après initialisation. Elle permettent de nommer des “nombre magiques”, ou de gérer des valeurs de paramètres qui ne doivent pas être modifié.

On utilise final pour définir une nouvelle constante.

Les constantes sont nommée en MAJUSCULE_AVEC_UNDERSCORE

final int DAYS_IN_WEEK = 7;
final double PI = 3.1415926535;
final String GREETING = "Salut, Java!";

static final: constante au niveau de la classe

En Java, on utilise souvent des constantes qui ne dépendent pas d’une instance d’un objet. C’est une constante qui sera commune à toute la classe. Pour cela, on utilise static + final.

On déclare ces constantes en début de classe.

public class MathUtils
{
    // déclaration de la constante static
    public static final double PI = 3.1415926535;

    public static double circleLength(double radius)
    {
        // appelle de la constante static
        return 2 * PI * radius;
    }
}

// utilisation 
double len = MathUtils.circleLength(5);
System.out.println(len); // 31.4159...

Différence entre final et static final

final: déclaration d’une constante static final: déclaration d’une constante indépendnates des objets

public class User
{
    public final String name;                      // Chaque User a son propre nom (final) => constante 
    public static final String COMPANY = "CodeGym"; // Une entreprise commune à tous (static final) => constante static 

    public User(String name)
    {
        this.name = name;
    }
}

// UTILISATION =========================== 
// déclaration de nouvelle instance de la classe
User u1 = new User("John");
User u2 = new User("Peter");

// affichag de la valeur de la constante lié à l'objet 
System.out.println(u1.name);      // John
System.out.println(u2.name);      // Peter
// affichage de la constante statique => lié à la classe
System.out.println(User.COMPANY); // CodeGym