The keyword this refers to whichever object you happen to be in at present. Several common uses:-
1: Send a reference to the whole object, eg when serialising . . . objectWriter.writeObject(this);
Refer to the attributes corresponding to the object. Example. In a constructor public Foo(String name){ . . . this.name = name;. . .}
To get a reference from an inner class object to the object of its surrounding class write "OuterFoo.this"
Not absolutely essential, but you can use to to distinguish your present object from another object of the same class . . . if(this.foo.equals(other.foo))