Which keyword in Java refers to the current object instance?

The story behind the answer

The Java keyword `this` refers to the current object instance.

Inside an instance method or constructor, `this` is a reference to the object whose method is running. It is especially useful when a parameter has the same name as an instance field: `this.name = name;` clearly distinguishes the field from the parameter.

The keyword can also call another constructor in the same class, as in `this(0);`, but that constructor call must appear as the first statement. Java permits `this` to access fields and methods explicitly, although it is often optional when no naming conflict exists.

`super` is different: it refers to the superclass portion of the current object and can invoke a parent constructor or access an overridden superclass method. `self` and `current` are not Java keywords for this purpose; other languages use names such as `self` or `Me`. `this` cannot be used in a static context because static code has no particular object instance.

Source: Wikipedia · fact-checked Aug. 2026

Add question to a list

Choose a list to keep this question in: