<aside> ⚠️

Hors programme

</aside>

En Java, le mot-clé static désigne une variable ou méthode qui appartient à la classe elle-même, plutôt qu'à des instances spécifiques de cette classe.

  1. Variable statique : Une variable déclarée avec static est partagée par toutes les instances de la classe. Il n'y a qu'une seule copie de cette variable, quel que soit le nombre d'objets créés à partir de cette classe.

    Classe.java

    public class Classe{
    	private static int compteur = 0;
    	
    	public maClasse() {
    	}
    	
    	public int augmenterCompteur() {
    		return compteur++;
    	}
    
        public int getCompteur() {
            return compteur;
        }
    }
    

    Test.java

    public class Test{
    	public static void main(String[] args) {		
    		maClasse objet1 = new maClasse();
    		System.out.println("compteur vaut : "+objet1.getCompteur());
    		
    		objet1.augmenterCompteur();
    		
    		maClasse objet2 = new maClasse();
    		System.out.println("compteur vaut : "+objet2.getCompteur());
    	}
    }
    

    👉 Résultat

    nombre vaut : 0
    nombre vaut : 1
    

    Bien que l’augmentation du compteur ait été réalisée par objet1, la valeur de compteur qui est une variable static a augmentée pour toutes les instances, notamment objet2.

  2. Méthode statique : Une méthode marquée comme static peut être appelée sans avoir besoin de créer une instance de la classe. Elle ne peut pas accéder directement aux membres non statiques de la classe.

    🖥️ Classe.java

    public class Classe{
    	public static void print() {
    		System.out.println("Je suis un texte.");
    	}
    }
    

    🖥️ Test.java

    public class Test{
    	public static void main(String[] args) {
    		Classe.print();
    	}
    }
    

    👉 Résultat

    Je suis un texte.