Junior — Middle
Qual è la differenza tra i campi di una classe e le variabili locali all'interno dei metodi in Java?
sobes.tech AI
Risposta dell'AI
I campi di classe (variabili di istanza o campi statici) e le variabili locali all'interno dei metodi in Java differiscono per ambito, durata e luogo di memorizzazione:
-
Campi di classe:
- Sono dichiarati all'interno della classe, ma fuori dai metodi.
- Sono memorizzati nell'oggetto (se non sono statici) o nell'area della classe (se sono statici).
- Conservano il valore tra le chiamate ai metodi.
- Sono accessibili da diversi metodi della classe (a seconda del livello di accesso).
-
Variabili locali:
- Sono dichiarate all'interno di un metodo.
- Esistono solo durante l'esecuzione del metodo.
- Sono memorizzate nello stack delle chiamate.
- Non sono accessibili al di fuori del metodo in cui sono dichiarate.
Esempio:
public class Example {
int field = 10; // campo di classe
public void method() {
int localVar = 5; // variabile locale
System.out.println(field + localVar);
}
}
Qui, field mantiene lo stato dell'oggetto, mentre localVar esiste solo durante l'esecuzione del metodo method.