Junior — Middle
Quelle est la différence entre les champs d'une classe et les variables locales à l'intérieur des méthodes en Java?
sobes.tech IA
Réponse de l'IA
Les champs de classe (variables d'instance ou champs statiques) et les variables locales à l'intérieur des méthodes en Java diffèrent par leur portée, leur durée de vie et leur lieu de stockage :
-
Champs de classe :
- Déclarés à l'intérieur de la classe, mais en dehors des méthodes.
- Stockés dans l'objet (si non statiques) ou dans la zone de la classe (si statiques).
- Conservent leur valeur entre les appels de méthodes.
- Sont accessibles depuis différentes méthodes de la classe (selon le niveau d'accès).
-
Variables locales :
- Déclarées à l'intérieur d'une méthode.
- Existent uniquement pendant l'exécution de la méthode.
- Sont stockées dans la pile d'appels.
- Ne sont pas accessibles en dehors de la méthode dans laquelle elles sont déclarées.
Exemple :
public class Example {
int field = 10; // champ de classe
public void method() {
int localVar = 5; // variable locale
System.out.println(field + localVar);
}
}
Ici, field conserve l'état de l'objet, tandis que localVar n'existe que pendant l'exécution de la méthode method.