Kuba podał wystarczającą odpowiedź, ja może dorzucę jak to "na chłopski rozum" rozumieć. :)
Jeśli piszesz jakąś klasę, a w tej klasie - jakąś metodę, to wszystko dzieje się "na rzecz" tej właśnie Twojej klasy - a dokładniej: konkretnego obiektu tej klasy. To wskazuje this. Nie programowałem nigdy w Javie, ale to pewnie jest podobny mechanizm, jak w C++.
Spójrz na przykład:
class mojaKlasa
{
int PoleKlasy;
void MetodaKlasy()
{
/* kiedy będziesz miał obiekt A typu mojaKlasa, to jeśli wywołasz
na jego rzecz jakąś metodę, np. MetodaKlasy(), to WEWNĄTRZ tej metody
będzie "siedział" wskaźnik this, który będzie pokazywał na ten konkretny
obiekt A. */
PoleKlasy = 2; // możesz tak napisać
this -> PoleKlasy += 2; // i tak też, teraz PoleKlasy będzie miało wartość 4
}
};
To tak, jakbyś był w jakimś budynku i miał GPS ze strzałką "TU JESTEŚ", która pokazywałaby właśnie na ten budynek. :) Bo przecież mógłbyś być w różnych, podobnych budynkach, a GPS pokazuje na ten właśnie konkretny obiekt, w którym się akurat znajdujesz. :)