class Boite{ int profondeur,largeur,hauteur; boolean pleine; final double NOMBRE_D_OR=(1+Math.sqrt(5))/2; .... }
On peut alors accéder à cette valeur comme champ de n'importe quel exemplaire de Boite.
... maboite=new Boite(); maboite.largeur=(int)(maboite.profondeur*maboite.NOMBRE_D_OR); ...
Toujours dans le cadre de cet exemple, puisque la valeur du champ NOMBRE_D_OR est le même pour toutes les boites, il semble inutile de le recréer pour chaque nouvelle boite : un seul exemplaire serait suffisant. On peut alors le déclarer static. Un champ static appartient à la classe elle-même. On n'a pas besoin de créer d'exemplaires de la classe pour pouvoir l'utiliser.
Dans la classe boite on écrira ainsi
class Boite{ int profondeur,largeur,hauteur; boolean pleine; final static double NOMBRE_D_OR=(1+Math.sqrt(5))/2; .... }
On accède à cette valeur comme champ de la classe Boite.
... System.out.println(Boite.NOMBRE_D_OR); ...
Les noms des constantes final static sont souvent notées en majuscules : cela permet de ne pas les confondre avec une méthode.