Différence entre variable d’instance et variable de classe en Java
Dans ce tutoriel nous allons découvrir la différence entre une variable d’instance et une variable de classe (variable statique) en Java.
Les variables d’instance sont déclarées dans une classe, mais en dehors d’une méthode, d’un constructeur ou de tout bloc. | Les variables de classe, également appelées variables statiques, sont déclarées avec le mot clé « static » dans une classe, mais en dehors d’une méthode, d’un constructeur ou d’un bloc. |
Les variables d’instance sont créées lorsqu’un objet est créé à l’aide du mot clé « new » et détruites lorsque l’objet est détruit. | Les variables statiques sont créées lors de l’exécution du programme et détruites à l’arrêt du programme. |
Les variables d’instance sont accessibles directement en appelant le nom de la variable dans la classe. Pourtant, dans les méthodes statiques, elles doivent être appelées en utilisant le nom complet: Object.VariableName. | Les variables statiques sont accessibles en utilisant le nom de classe: ClassName.VariableName. |
Exemple:
public class MaClasse{ int value; // Variable de classe static int nbr = 5; public static void main(String args[]){ //Variable d'instance MaClasse obj = new MaClasse(); obj.value = 6; System.out.println("Variable d'instance: "+obj.value); System.out.println("Variable de classe: "+MaClasse.nbr); } }
Sortie:
Variable d'instance: 6 Variable de classe: 5