Czas życia zmiennych: lokalne, instancji, statyczne

Dziedziczenie i polimorfizm - Podstawy Javy (Java)

Zmienne lokalne: Zmienna localCounter jest inicjalizowana za każdym razem, gdy metoda modifyCounters() jest wywoływana. Jej wartość nie jest zachowywana między kolejnymi wywołaniami metody. Pola instancji: Pole instanceCounter należy do konkretnego obiektu. Wartość jest przechowywana niezależnie dla każdego obiektu i zachowuje się między wywołaniami metod na tym samym obiekcie. Pola statyczne: Pole staticCounter jest współdzielone między wszystkimi obiektami klasy. Jego wartość jest zachowywana między wywołaniami metody, niezależnie od tego, na którym obiekcie została wywołana.

public class Main {
  // Pole globalne (instancji)
  private int instanceCounter = 0;

  // Pole statyczne
  private static int staticCounter = 0;

  // Metoda modyfikująca liczniki
  public void modifyCounters() {
    // Zmienna lokalna
    int localCounter = 0;

    // Zwiększanie wartości liczników
    localCounter++;
    instanceCounter++;
    staticCounter++;

    // Wyświetlanie wartości liczników
    System.out.println("Licznik lokalny: " + localCounter);
    System.out.println("Licznik instancji: " + instanceCounter);
    System.out.println("Licznik statyczny: " + staticCounter);
  }

  // Metoda główna
  public static void main(String[] args) {
    Main obj1 = new Main();
    Main obj2 = new Main();

    // Wywołanie metody dla różnych obiektów
    obj1.modifyCounters();
    obj1.modifyCounters();
    obj2.modifyCounters();
  }
}

Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.

Wszystkie lekcje kursu Podstawy Javy · Zaloguj się, aby zapisać postęp na koncie.