static détermine si une opération (une méthode) est une méthode d'instance (appartient à l'objet), où une méthode de classe (appartient à la classe).
class MaClasse {
static int nombreInstance=0;
int x,y;
static int dernièreInstance(){return nombreInstance;}
int périmetre(){return 2*(x+y);}
}
L'opération dernièreInstance() est une méthode de la classe MaClasse, alors que l'opération périmetre() est applicable aux objets, instances de la classe MaClasse. Par défaut, une méthode est d'instance.
class AutreClasse {
int ni = MaClasse.dernièreInstance();
MaClasse monObjet = new MaClasse();
int p = monObjet.périmetre();
}