Intern
Quelle est la différence entre un champ et une variable en Java?
sobes.tech IA
Réponse de l'IA
Un champ est une variable déclarée à l'intérieur d'une classe, mais en dehors de toute méthode. Les champs définissent les propriétés de l'objet de la classe.
Une variable est tout emplacement en mémoire réservé pour stocker des données d'un type spécifique. Les variables peuvent être :
- Champs (field) : déclarés au niveau de la classe.
- Variables locales (local variable) : déclarées à l'intérieur d'une méthode, d'un constructeur ou d'un bloc.
- Paramètres de méthodes (method parameter) : déclarés dans la signature de la méthode.
La principale différence : la portée et la durée de vie. Les champs appartiennent à l'objet (pour les non-statiques) ou à la classe (pour les statiques) et existent pendant toute leur durée de vie. Les variables locales et les paramètres de méthodes existent uniquement à l'intérieur du bloc dans lequel ils sont déclarés, et sont détruits après en sortir.
Exemple :
class Example {
int instanceField; // Champ d'instance
static String staticField; // Champ statique
void myMethod(int parameter) { // parameter - paramètre de la méthode
int localVar = 10; // localVar - variable locale
this.instanceField = parameter;
System.out.println(staticField + " " + localVar);
}
}