Składowe statyczne a składowe instancji

Dziedziczenie i polimorfizm - Podstawy Javy (Java)

Składowe statyczne: Pole globalCount należy do klasy, a nie do obiektów, i jest wspólne dla wszystkich obiektów klasy Counter. Zwiększane za każdym razem, gdy tworzony jest nowy obiekt. Można uzyskać dostęp do niego za pomocą Counter.getGlobalCount(). Składowe instancji: Pole instanceCount należy do konkretnego obiektu i nie jest współdzielone. Każdy obiekt ma swoją własną kopię tego pola.

public class Counter {
  // Pole statyczne - wspólne dla wszystkich obiektów
  private static int globalCount = 0;

  // Pole instancji - niezależne dla każdego obiektu
  private int instanceCount = 0;

  // Konstruktor
  public Counter() {
    globalCount++;  // Zwiększa wartość wspólnego licznika
    instanceCount++; // Zwiększa wartość licznika instancji
  }

  // Getter dla pola statycznego
  public static int getGlobalCount() {
    return globalCount;
  }

  // Getter dla pola instancji
  public int getInstanceCount() {
    return instanceCount;
  }

  // Metoda główna
  public static void main(String[] args) {
    // Tworzenie obiektów
    Counter c1 = new Counter();
    Counter c2 = new Counter();
    Counter c3 = new Counter();

    // Wyświetlanie liczników
    System.out.println("Globalny licznik: " + Counter.getGlobalCount()); // Wspólny dla wszystkich
    System.out.println("Licznik dla c1: " + c1.getInstanceCount()); // Niezależny dla c1
    System.out.println("Licznik dla c2: " + c2.getInstanceCount()); // Niezależny dla c2
  }
}

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

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