Sobes.tech
Intern

Jaka jest różnica między polem a zmienną w Java?

sobes.tech AI

Odpowiedź od AI

Pole to zmienna zadeklarowana wewnątrz klasy, ale poza dowolną metodą. Pola określają właściwości obiektu klasy.

Zmienna to dowolne miejsce w pamięci przeznaczone do przechowywania danych określonego typu. Zmienne mogą być:

  • Polami (field): zadeklarowane na poziomie klasy.
  • Zmienne lokalne (local variable): zadeklarowane wewnątrz metody, konstruktora lub bloku.
  • Parametrami metod (method parameter): zadeklarowane w sygnaturze metody.

Główna różnica: zakres i czas życia. Pola należą do obiektu (dla niestatycznych) lub do klasy (dla statycznych) i istnieją przez cały cykl życia. Zmienne lokalne i parametry metod istnieją tylko w obrębie bloku, w którym są zadeklarowane, i są niszczone po wyjściu z niego.

Przykład:

class Example {
    int instanceField; // Pole instancji

    static String staticField; // Pole statyczne

    void myMethod(int parameter) { // parametr metody
        int localVar = 10; // zmienna lokalna
        this.instanceField = parameter;
        System.out.println(staticField + " " + localVar);
    }
}