java this keyword tutorial with code examples
W tym samouczku szczegółowo opisano specjalne słowo kluczowe „this” w języku Java za pomocą prostych przykładów kodu. Obejmuje to, jak, kiedy i gdzie używać słowa kluczowego „to”:
W tym samouczku przedstawiliśmy jedno z ważnych pojęć w Javie - słowo kluczowe „this”. Zbadamy szczegóły słowa kluczowego „this”, a także przedstawimy kilka przykładów jego użycia w Javie.
Słowo kluczowe „this” w Javie jest zmienną odniesienia. Zmienna odniesienia „this” wskazuje na bieżący obiekt w programie Java . Dlatego jeśli chcesz uzyskać dostęp do dowolnego elementu członkowskiego lub funkcji bieżącego obiektu, możesz to zrobić, używając odwołania „this”.
Czego się nauczysz:
Java „to” Wprowadzenie
Odniesienie „this” jest ogólnie określane jako „ten wskaźnik”, ponieważ wskazuje na bieżący obiekt. „Ten wskaźnik” jest przydatny, gdy istnieje nazwa atrybutów i parametrów klasy. W takiej sytuacji „ten wskaźnik” eliminuje zamieszanie, ponieważ możemy uzyskać dostęp do parametrów za pomocą „tego” wskaźnika.
W tym samouczku omówimy użycie wskaźnika „this” w różnych sytuacjach wraz z przykładami.
Kiedy używać „tego” w Javie?
W Javie termin „to” ma następujące zastosowania:
- Odniesienie „this” służy do uzyskiwania dostępu do zmiennej instancji klasy.
- Możesz nawet przekazać „this” jako argument w wywołaniu metody.
- „This” może być również użyte do niejawnego wywołania metody bieżącej klasy.
- Jeśli chcesz zwrócić bieżący obiekt z metody, użyj „this”.
- Jeśli chcesz wywołać konstruktor bieżącej klasy, możesz użyć „this”.
- Konstruktor może również mieć „this” jako argument.
Przyjrzyjmy się teraz każdemu z tych zastosowań osobno.
Dostęp do zmiennej instancji przy użyciu „this”
Zmienne instancji parametrów klas i metod mogą mieć tę samą nazwę. Można użyć wskaźnika „ten”, aby usunąć wynikającą z tego niejednoznaczność.
Poniższy program w języku Java demonstruje, jak można użyć „this”, aby uzyskać dostęp do zmiennych instancji.
class this_Test { int val1; int val2; // Parameterized constructor this_Test(int val1, int val2) { this.val1 = val1 + val1; this.val2 = val2 + val2; } void display() { System.out.println('Value val1 = ' + val1 + ' Value val2 = ' + val2); } } class Main{ public static void main(String() args) { this_Test object = new this_Test(5,10); object.display(); } }
Wynik:
W powyższym programie widać, że zmienne instancji i parametry metody mają te same nazwy. Używamy wskaźnika „this” ze zmiennymi instancji, aby rozróżnić zmienne instancji i parametry metody.
„To” przeszło jako parametr metody
Możesz również przekazać ten wskaźnik jako parametr metody. Przekazywanie tego wskaźnika jako parametru metody jest zwykle wymagane, gdy mamy do czynienia ze zdarzeniami. Na przykład, załóżmy, że chcesz wywołać jakieś zdarzenie na bieżącym obiekcie / uchwycie, a następnie musisz wyzwolić je za pomocą tego wskaźnika.
Poniżej przedstawiono przykład programowania, w którym przekazaliśmy ten wskaźnik do metody.
class Test_method { int val1; int val2; Test_method() { val1 = 10; val2 = 20; } void printVal(Test_method obj) { System.out.println('val1 = ' + obj.val1 + ' val2 = ' + obj.val2); } void get() { printVal(this); } } class Main{ public static void main(String() args) { Test_method object = new Test_method(); object.get(); } }
Wynik:
W tym programie tworzymy obiekt klasy Test_method w funkcji main a następnie wywołujemy metodę get () z tym obiektem. Wewnątrz metody get () wskaźnik „this” jest przekazywany do metody printVal (), która wyświetla bieżące zmienne instancji.
Wywołaj metodę bieżącej klasy z „this”
Tak jak możesz przekazać wskaźnik „this” do metody, możesz również użyć tego wskaźnika do wywołania metody. Jeśli w ogóle zapomnisz uwzględnić ten wskaźnik podczas wywoływania metody bieżącej klasy, kompilator doda go za Ciebie.
Przykład wywołania metody klasy z „this” podano poniżej.
class Test_this { void print() { // calling fuctionshow() this.show(); System.out.println('Test_this:: print'); } void show() { System.out.println('Test_this::show'); } } class Main{ public static void main(String args()) { Test_this t1 = new Test_this(); t1.print(); } }
Wynik:
W tym programie metoda klasy print () wywołuje metodę show () przy użyciu tego wskaźnika, gdy jest ona wywoływana przez obiekt klasy w funkcji głównej.
Wróć z „tym”
Jeśli zwracanym typem metody jest obiekt bieżącej klasy, można wygodnie zwrócić wskaźnik „this”. Innymi słowy, możesz zwrócić bieżący obiekt z metody za pomocą wskaźnika „this”.
Poniżej podano implementację zwracania obiektu przy użyciu wskaźnika „this”.
który program do pobierania wideo mp4 jest kompatybilny z youtube
class Test_this { int val_a; int val_b; //Default constructor Test_this() { val_a = 10; val_b = 20; } Test_this get() { return this; } void display() { System.out.println('val_a = ' + val_a + ' val_b = ' + val_b); } } class Main{ public static void main(String() args) { Test_this object = new Test_this(); object.get().display(); } }
Wynik:
Powyższy program przedstawia metodę get (), która zwraca to, co jest obiektem klasy Test_this. Używając bieżącego obiektu zwróconego przez metodę get (), wywoływana jest z kolei metoda display.
Używanie „this” do wywołania konstruktora bieżącej klasy
Możesz także użyć wskaźnika „this”, aby wywołać konstruktor bieżącej klauzuli.ss. Podstawową ideą jest ponowne użycie konstruktora. Ponownie, jeśli masz więcej niż jeden konstruktor w swojej klasie, możesz wywołać te konstruktory od siebie, co spowoduje łączenie konstruktorów.
Rozważmy następujący program Java.
class This_construct { int val1; int val2; //Default constructor This_construct() { this(10, 20); System.out.println('Default constructor
'); } //Parameterized constructor This_construct(int val1, int val2) { this.val1 = val1; this.val2 = val2; System.out.println('Parameterized constructor'); } } class Main{ public static void main(String() args) { This_construct object = new This_construct(); } }
Wynik:
W powyższym programie mamy w klasie dwa konstruktory. Drugi konstruktor wywołujemy za pomocą wskaźnika „this” z domyślnego konstruktora klasy.
Używanie „tego” jako argumentu dla konstruktora
Możesz również przekazać wskaźnik „this” jako argument do konstruktora. Jest to bardziej przydatne, gdy masz wiele klas, jak pokazano w poniższej implementacji.
class Static_A { Static_B obj; Static_A(Static_B obj) { this.obj = obj; obj.display(); } } class Static_B { int x = 10; Static_B() { Static_A obj = new Static_A(this); } void display() { System.out.println('B::x = ' + x); } } class Main{ public static void main(String() args) { Static_B obj = new Static_B(); } }
Wynik:
Jak pokazano w powyższej implementacji, mamy dwie klasy, a każdy konstruktor klasy wywołuje konstruktor drugiej klasy. W tym celu używany jest wskaźnik „ten”.
Często Zadawane Pytania
P # 1) Jaka jest różnica między this i this () w Javie?
Odpowiedź: W Javie odnosi się to do bieżącego obiektu, podczas gdy this () odnosi się do konstruktora z pasującymi parametrami. Słowo kluczowe „to” działa tylko w przypadku obiektów. Wywołanie „this ()” służy do wywołania więcej niż jednego konstruktora z tej samej klasy.
P # 2) Czy to słowo kluczowe jest niezbędne w Javie?
Odpowiedź: Jest to konieczne szczególnie wtedy, gdy trzeba przekazać bieżący obiekt z jednej metody do drugiej lub między konstruktorami lub po prostu użyć bieżącego obiektu do innych operacji.
P # 3) Jaka jest różnica między this () a super () w Javie?
Odpowiedź: Zarówno this (), jak i super () są słowami kluczowymi w Javie. Podczas gdy this () reprezentuje konstruktora bieżącego obiektu z pasującymi parametrami, super () reprezentuje konstruktora klasy nadrzędnej.
Q # 4) Czy w konstruktorze można używać zarówno this (), jak i super ()?
Odpowiedź: Tak, możesz go użyć. Konstruktor this () wskaże bieżący konstruktor, podczas gdy super () wskaże konstruktor klasy nadrzędnej. Pamiętaj, że zarówno this (), jak i super () powinny być pierwszą instrukcją.
Wniosek
Słowo kluczowe „this” odnosi się do bieżącego obiektu w programie Java. Można go użyć, aby uniknąć nieporozumień wynikających z takich samych nazw zmiennych klas (zmiennych instancji) i parametrów metod.
Wskaźnika „this” można używać na wiele sposobów, takich jak uzyskiwanie dostępu do zmiennych instancji, przekazywanie argumentów do metody lub konstruktora, zwracanie obiektu itp. Wskaźnik „this” jest ważnym słowem kluczowym w Javie i jest użyteczną funkcją przy dostępie do bieżącego obiektu i jej członków i funkcje.
Mamy nadzieję, że w tym samouczku śledziłeś użycie słowa kluczowego „this” w Javie.
rekomendowane lektury
- Samouczek JAVA dla początkujących: ponad 100 praktycznych samouczków wideo Java
- Samouczek dotyczący refleksji w języku Java z przykładami
- C # samouczek obsługi wyjątków z przykładami kodu
- Python DateTime Tutorial z przykładami
- C # funkcje / metody samouczek z przykładami kodu
- Samouczek Java SWING: kontener, komponenty i obsługa zdarzeń
- Samouczek Java Collections Framework (JCF)
- Interfejs Java i samouczek klasy abstrakcyjnej z przykładami