Sobes.tech
Intern

Qual è la differenza tra un campo e una variabile in Java?

sobes.tech AI

Risposta dell'AI

Un campo è una variabile dichiarata all'interno di una classe, ma al di fuori di qualsiasi metodo. I campi definiscono le proprietà dell'oggetto della classe.

Una variabile è qualsiasi spazio in memoria riservato per memorizzare dati di un tipo specifico. Le variabili possono essere:

  • Campi (field): dichiarati a livello di classe.
  • Variabili locali (local variable): dichiarate all'interno di un metodo, costruttore o blocco.
  • Parametri del metodo (method parameter): dichiarati nella firma del metodo.

La principale differenza: ambito e durata di vita. I campi appartengono all'oggetto (per quelli non statici) o alla classe (per quelli statici) e esistono durante tutto il ciclo di vita. Le variabili locali e i parametri del metodo esistono solo all'interno del blocco in cui sono dichiarati e vengono distrutti dopo l'uscita.

Esempio:

class Example {
    int instanceField; // Campo di istanza

    static String staticField; // Campo statico

    void myMethod(int parameter) { // parametro del metodo
        int localVar = 10; // variabile locale
        this.instanceField = parameter;
        System.out.println(staticField + " " + localVar);
    }
}