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 kluczowethis
rozróżnia zmienną instancjibrand
od parametrubrand
. Bezthis
, Java przyjęłaby, że obie odniesienia dotyczą parametru, a nie zmiennej instancji. - W metodzie
display()
,this.brand
wskazuje, że używamy zmiennej instancjibrand
klasyCar
, co jest przydatne dla czytelności, chociaż w tym kontekściethis
może być opcjonalne. - Metoda
compare(Car another)
używathis
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.