this w Java

Słowo kluczowe this w języku Java jest używane do odniesienia się do bieżącej instancji klasy. Może być używane do odwoływania się do zmiennych instancji, konstruktorów, a także do przekazywania bieżącej instancji w wywołaniach metod. Użycie this pomaga w rozróżnieniu zmiennych instancji od zmiennych lokalnych, zwłaszcza gdy obie mają takie same nazwy. Poniżej przedstawiamy przykład, w którym korzystamy z this do zilustrowania jego różnych zastosowań w praktyce.

Przykład kodu: Użycie this w klasie Java

class Car {
    // Zmienna opisująca markę samochodu
    String brand;
    
    // Konstruktor z parametrem brand
    Car(String brand) {
        // Użycie this do odróżnienia zmiennej instancji od parametru
        this.brand = brand;
    }
    
    // Metoda wyświetlająca markę samochodu
    void display() {
        System.out.println("Marka samochodu: " + this.brand);
    }
    
    // Metoda do porównania dwóch obiektów Car
    void compare(Car another) {
        if(this == another) {
            System.out.println("Te same obiekty");
        } else {
            System.out.println("Różne obiekty");
        }
    }
}

public class Main {
    public static void main(String[] args) {
        // Tworzenie instancji klasy Car
        Car myCar = new Car("Ford");
        Car anotherCar = new Car("Toyota");
        
        // Wywołanie metody display przy użyciu myCar
        myCar.display();  // Wyświetli "Marka samochodu: Ford"
        
        // Porównanie dwóch instancji klasy Car
        myCar.compare(anotherCar);  // Wyświetli "Różne obiekty"
    }
}

Komentarze do kodu

  • W konstruktorze Car(String brand), słowo kluczowe this rozróżnia zmienną instancji brand od parametru brand. Bez this, Java przyjęłaby, że obie odniesienia dotyczą parametru, a nie zmiennej instancji.
  • W metodzie display(), this.brand wskazuje, że używamy zmiennej instancji brand klasy Car, co jest przydatne dla czytelności, chociaż w tym kontekście this może być opcjonalne.
  • Metoda compare(Car another) używa this do porównania bieżącej instancji z inną, przekazaną jako argument. this == another sprawdza, czy obie zmienne odnoszą się do tego samego obiektu w pamięci.

Podsumowanie

Słowo kluczowe this w Java jest potężnym narzędziem do zarządzania kontekstem bieżącej instancji klasy. Umożliwia jasne rozróżnienie między zmiennymi instancji a lokalnymi oraz pomaga w organizacji kodu, czyniąc go bardziej czytelnym i łatwiejszym w utrzymaniu. Jak pokazano w przykładzie, this może być używane w różnych kontekstach, w tym w konstruktorach, metodach i przy porównywaniu obiektów, zapewniając elastyczność i precyzję w dostępie do składowych klasy.

Jeżeli chcesz przyśpieszyć swoją naukę tworzenia stron chciałbym polecić mój kurs Java od podstaw w którym nauczysz się tego języka od podstaw do zaawansowanych jego aspektów.

Scroll to Top