Si on définissait une valeur constante comme ceci :
public class Versement { final int NB_DECIMALES = 2 ; final double montant ; final String monnaie ; final long heureOperation = System.currentTimeMillis(); // autres codes }
Alors on créerait pour chaque objet une valeur NB_DECIMALES alors que c’est toujours la même valeur! Dans ce cas on crée une "variable partagée" (ou "variable de classe").
définition d’une constante partagée.
public class Versement { public static final int NB_DECIMALES = 2 ; final double montant ; // autres codes ....
Utilisation d’une constante partagée.
double res = rayon * Math.PI ;
![]() | |
Les variables partagées ne sont pas nécessairement des constantes (marquées |
![]() | Attention! |
---|---|
Les constantes partagées donnent lieu à des comportements divers du compilateur.
Il y a des données qui sont initialisées au compile time (le compilateur connait leur valeur
et la recopie dans le code binaire) et d’autres au load time (la valeur n’est connue qu’au moment
où la classe est chargée en mémoire par le
|