Sobes.tech
Junior

Czym są zmienne instancyjne?

sobes.tech AI

Odpowiedź od AI

Zmienne instancji to zmienne należące do konkretnego egzemplarza (obiektu) klasy. Każdemu obiektowi tworzona jest własna kopia tych zmiennych.

  • Definiowane są wewnątrz klasy, ale poza metodami.
  • Dostępne z dowolnej metody tej samej klasy.
  • Ich wartość jest unikalna dla każdego egzemplarza obiektu.
  • Inicjalizowane podczas tworzenia egzemplarza klasy (np. w konstruktorze).

Przykład w Java:

public class Dog {
    String name; // zmienna instancji

    public Dog(String name) {
        this.name = name;
    }

    public void printName() {
        System.out.println("Nazywam się " + this.name);
    }
}

// Tworzenie egzemplarzy
Dog dog1 = new Dog("Buddy");
Dog dog2 = new Dog("Lucy");

// Każdy egzemplarz ma własne 'name'
dog1.printName(); // Wypisze: Nazywam się Buddy
dog2.printName(); // Wypisze: Nazywam się Lucy

Tabela porównawcza:

Zmienna Przynależność Zakres widoczności Cykl życia Inicjalizacja
Instancji Dla każdego egzemplarza obiektu Wewnątrz instancji Tak długo, jak istnieje instancja Przy tworzeniu egzemplarza (konstruktor)
Statyczna (klasowa) Dla całej klasy (jedna dla wszystkich) Wewnątrz klasy (często publiczna) Do końca działania programu Przy ładowaniu klasy
Lokalna Dla metody lub bloku kodu Wewnątrz metody/bloku, w którym jest zadeklarowana Tylko podczas wykonywania metody/bloku Powinna być zainicjalizowana przed użyciem