Junior — Middle
Czym różnią się pola klasy od zmiennych lokalnych wewnątrz metodów w Java?
sobes.tech AI
Odpowiedź od AI
Pola klasy (zmienne instancji lub pola statyczne) i zmienne lokalne wewnątrz metod w Javie różnią się pod względem zakresu, czasu życia i miejsca przechowywania:
-
Pola klasy:
- Deklarowane wewnątrz klasy, ale poza metodami.
- Przechowywane w obiekcie (jeśli nie są statyczne) lub w obszarze klasy (jeśli są statyczne).
- Zachowują wartość między wywołaniami metod.
- Dostępne z różnych metod klasy (w zależności od poziomu dostępu).
-
Zmienne lokalne:
- Deklarowane wewnątrz metody.
- Istnieją tylko podczas wykonywania metody.
- Przechowywane na stosie wywołań.
- Nie są dostępne poza metodą, w której zostały zadeklarowane.
Przykład:
public class Example {
int field = 10; // pole klasy
public void method() {
int localVar = 5; // zmienna lokalna
System.out.println(field + localVar);
}
}
Tutaj field zachowuje stan obiektu, a localVar istnieje tylko podczas wykonywania metody method.