Co to jest słowo kluczowe w Javie?
to słowo kluczowe w Javie jest zmienną referencyjną, która odwołuje się do bieżącego obiektu metody lub konstruktora. Głównym celem użycia tego słowa kluczowego w Javie jest usunięcie pomyłki między atrybutami klas a parametrami, które mają takie same nazwy.
Poniżej przedstawiono różne zastosowania słowa kluczowego „this” w Javie:
- Może służyć do odwoływania się do zmiennej instancji bieżącej klasy
- Może służyć do wywoływania lub inicjowania konstruktora aktualnej klasy
- Można go przekazać jako argument w wywołaniu metody
- Można go przekazać jako argument w wywołaniu konstruktora
- Może służyć do zwracania bieżącej instancji klasy
Kliknij tutaj, jeśli wideo nie jest dostępne
Zrozum „to” słowo kluczowe na przykładzie.
- Klasa : klasa Konto
- Zmienna instancji : a i b
- Method Set data : Aby ustawić wartość dla a i b.
- Metoda Pokaż dane : Aby wyświetlić wartości a i b.
- Metoda główna: gdzie tworzymy obiekt dla klasy Account i wywołujemy metody ustawiamy dane i wyświetlamy dane.
Skompilujmy i uruchommy kod
Nasz oczekiwany wynik dla A i B powinien zostać zainicjalizowany odpowiednio na wartości 2 i 3.
Ale wartość to 0, dlaczego? Zbadajmy.
W metodzie Set data argumenty są deklarowane jako a i b, natomiast zmienne instancji są również nazywane jako a i b.
Podczas wykonywania kompilator jest zdezorientowany. Czy „a” po lewej stronie przypisanego operatora jest zmienną instancji, czy zmienną lokalną. W związku z tym nie ustawia wartości „a”, gdy wywoływana jest metoda danych zestawu.
Rozwiązaniem jest słowo kluczowe „this”
Dodaj „a” i „b” słowem kluczowym this w Javie, po którym następuje operator kropki (.).
Podczas wykonywania kodu, gdy obiekt wywołuje metodę „setdata”. Słowo kluczowe „this” jest zastępowane przez procedurę obsługi obiektu „obj”. (Zobacz obrazek poniżej).
Teraz kompilator wie,
- „A” po lewej stronie to zmienna instancji.
- Natomiast „a” po prawej stronie jest zmienną lokalną
Zmienne są poprawnie inicjowane i wyświetlane są oczekiwane dane wyjściowe.
Załóżmy, że jesteś wystarczająco sprytny, aby wybrać różne nazwy dla zmiennej instancji i argumentów metod.
Ale tym razem tworzysz dwa obiekty tej klasy, z których każdy wywołuje metodę set data.
W jaki sposób kompilator ustali, czy ma on działać na zmiennej instancji obiektu 1 czy obiektu 2.
Cóż, kompilator niejawnie dołącza zmienną instancji ze słowem kluczowym „this” (ilustracja poniżej).
Takich, że gdy obiekt 1 wywołuje metodę set data, zmienna instancji jest dołączana przez jej zmienną referencyjną.
Podczas gdy obiekt 2 wywołuje metodę set data, zmienna instancji obiektu 2 jest modyfikowana.
Ten proces jest obsługiwany przez sam kompilator. Nie musisz jawnie dodawać słowa kluczowego „this”, chyba że zaistniała wyjątkowa sytuacja, jak w naszym przykładzie.
Przykład: aby nauczyć się używać słowa kluczowego „this”
Krok 1) Skopiuj poniższy kod do notatnika.
class Account{int a;int b;public void setData(int a ,int b){a = a;b = b;}public void showData(){System.out.println("Value of A ="+a);System.out.println("Value of B ="+b);}public static void main(String args[]){Account obj = new Account();obj.setData(2,3);obj.showData();}}
Krok 2) Zapisz, skompiluj i uruchom kod.
Krok 3) Wartość a i b jest wyświetlana jako zero? Aby poprawić błąd, dołącz wiersze 6 i 7 słowem kluczowym „ this ”.
this.a =a;this.b =b;
Krok 4) Zapisz, skompiluj i uruchom kod. Tym razem wartości a i b są ustawione odpowiednio na 2 i 3.
Podsumowanie
- to słowo kluczowe w Javie jest zmienną odniesienia, która odwołuje się do bieżącego obiektu.
- Jednym z zastosowań tego słowa kluczowego w Javie jest odwoływanie się do zmiennej instancji bieżącej klasy
- Może służyć do wywoływania lub inicjowania konstruktora aktualnej klasy
- Można go przekazać jako argument w wywołaniu metody
- ten wskaźnik w Javie można przekazać jako argument w wywołaniu konstruktora
- ten operator w Javie może służyć do zwracania bieżącej instancji klasy
- to w Javie jest odwołaniem do bieżącego obiektu, którego metoda jest wywoływana.
- Możesz użyć słowa kluczowego „this”, aby uniknąć konfliktów nazw w metodzie / konstruktorze instancji / obiektu.