next up previous contents index
suivant: 3.4 Patterns d'accès et monter: 3. Classes d'objets précédent: 3.2 Méthodes   Table des matières   Index


3.3 Membres statiques

Un membre déclaré static, appelé parfois membre de classe par opposition aux membres d'instance, est commun à toutes les instances d'une classe, s'il en existe. On accède à un membre statique d'une classe en préfixant le nom du membre par le nom de la classe. Par exemple, la classe Math, qui n'est pas destinée à être instanciée, ne comporte que des membres statiques, dont les constantes E et PI (le mot-clé final indique qu'il s'agit d'une constante), et toutes les fonctions mathématiques usuelles ; on invoquera ainsi Math.cos(Math.PI) :

package java.lang;

public class Math {
  public static final double E = 2.7182818284590452354;
  public static final double PI = 3.14159265358979323846;
  public static double cos(double a) { ... }
  // ...
}

Un champ statique, ou variable de classe est donc une variable unique, partagée par toutes les instances de la classe ; cette variable est toujours créée, même si aucune instance de la classe n'est construite.

3.3.0.0.1 Fonctions

Une méthode statique est aussi qualifiée de fonction, usage suivi jusqu'à présent. Une méthode statique ne peut accéder qu'aux membres statiques de sa classe ; elle ne doit pas utiliser this. C'est le cas de la méthode main qui ne peut invoquer directement d'autres méthodes ou accéder directement à d'autres champs de sa classe que si ces méthodes et champs sont également statiques. Par contre, une méthode statique peut construire une instance de sa classe puis accéder à tous les membres de cette instance.


next up previous contents index
suivant: 3.4 Patterns d'accès et monter: 3. Classes d'objets précédent: 3.2 Méthodes   Table des matières   Index
Rene' LALEMENT 2001-11-07