Jason. Cała informatyka w jednym miejscu!

Słowo kluczowe "this" w języku Java jest dzisiejszym tematem jaki chcę poruszyć. On nie zajmie dużo miejsca, przelecimy sobie przez miejsca jego występowania, a po szczegóły odnośnie dotkniętego wątku odeślę do odrębnego materiału (jeśli jest 😉).

GDZIE ZNAJDZIESZ SŁOWO "THIS" W JĘZYKU JAVA?

W dwóch miejscach nadających inne znaczenie.

ODWOŁANIE SIĘ DO DANEJ SKŁADOWEJ

Jednym z dwóch miejsc występowania jest w momencie podkreślenia, że chodzi nam o daną składową (zmienną) pochodzącą z tej samej klasy. Zwykle piszemy tak:

variableName = 5;

a mamy prawo napisać też tak:

this.variableName = 5;

Kiedy się przyda ten drugi zapis? W momencie, gdy dochodzi do sytuacji, w której tę samą nazwę zawiera zarówno dana składowa (zmienna klasy), jak i zmienna lokalna występująca w funkcji (metodzie):

public class MyClass {
	private int value;
	
	public void setValue(int value) {
		this.value = value;
	}
}

Wtedy wstawienie "this" w języku Java jest o wiele bardziej zasadne 👍.

WYWOŁYWANIE PRZECIĄŻONEGO KONSTRUKTORA W TEJ SAMEJ KLASIE

Drugie występowanie: wywołanie metody jako innego konstruktora klasy kiedy znajdują się co najmniej dwa w tej samej klasie:

public class MyClass() {
	private int value;
	
	public MyClass() {
		this(0);
	}
	
	public MyClass(int initialValue) {
		value = initialValue;
	}
}

Zastosowanie masz już podane - sytuacja, w której chcemy udostępnić możliwość utworzenia obiektu bez podawania tuzina parametrów formalnych, a konstruktor ten najbardziej rozbudowany potrzebuje zinicjalizować wszystkie niezbędne wartości.

Przeciążanie metody jest zdefiniowaniem drugiej osobnej metody o tej samej nazwie, która musi się różnić parametrami i która może różnić się typem zwracanej wartości.

Występowania słowa kluczowego "this" w języku Java

Słowo kluczowe "this" w języku Java znajduje zastosowanie tylko w dwóch przypadkach: wywoływanie przeciążonych konstruktorów oraz podkreślenie odwołania się do danej składowej klasy w przypadku kolizji nazw zmiennych.


To już koniec 😊. Nie zanosi się, żeby były jakieś dodatkowe zastosowania w przyszłości (a jeżeli będą, to się dopisze 😄).

PODOBNE ARTYKUŁY