What is the “This” Keyword?
Java “this” Keyword works as a reference to the current Object in the program. It can be used inside the Method or constructor of Java Class.

Where use This keyword in Java?
Here is a list of this keyword can be used to:-
- Refer instance variable of the current class.
- Invoke or initiate current class constructor.
- Passed as an argument (Parameters) in the method call.
- Passed as argument (Parameters) in the constructor call.
- Return the current class instance.
Java this keyword program example code
Let’s see the simple this keyword is used in java programs or how to use it.
Instance Variable | Field
In this example using ‘this’ keyword to refer to current class instance variables.
See below code how to using this.num2 and this.num2 in the constructor.
class TestCode {
int num1;
int num2;
// Parameterized constructor
TestCode(int num1, int num2) {
this.num1 = num1;
this.num2 = num2;
}
// method
void show() {
//Displaying value of variables a and b
System.out.println("Number 1 = " + num1 + " Number 2 = " + num2);
}
public static void main(String[] args) {
// creating class object
TestCode testCode = new TestCode(12, 10);
testCode.show();
}
}
Output:
Number 1 = 12 Number 2 = 10
“this” keyword in Java method
Many teams use this keyword with java methods. Let’s see one by one with examples.
1. Use ‘this’ keyword as method parameter
class TestCode {
int num1;
int num2;
// Default constructor
TestCode() {
num1 = 10;
num1 = 20;
}
// Method with 'this' keyword as parameter
void display(TestCode object) {
System.out.println("Number 1 = " + num1 + " Number 2 = " + num2);
}
// Method that returns current class instance
void get() {
display(this);
}
public static void main(String[] args) {
TestCode objectTest = new TestCode();
objectTest.get();
}
}
Output:
Number 1 = 20 Number 2 = 0
2. Use ‘this’ keyword to invoke current class method
this keyword can be used inside Methods to call another Method in the
class TestCode {
void msg() {
// call show() method
this.show();
System.out.println("Message Method");
}
void show() {
System.out.println("Show Method");
}
public static void main(String args[]) {
TestCode testCode = new TestCode();
testCode.msg();
}
}
Output:
Show Method
Message Method
In a constructor used “this” Keyword
How to invoke the current class constructor?
Using this keyword word to invoke the current class constructor. See below the example program of Java “this” in the constructor.
class TestCode {
int num1;
int num2;
//Default constructor
TestCode()
{
this(10, 20);
System.out.println("Default constructor");
}
//Parameterized constructor
TestCode(int a, int b)
{
this.num1 = a;
this.num2 = b;
System.out.println("Parameterized constructor");
}
public static void main(String[] args)
{
// creating object of class
TestCode testCode = new TestCode();
}
}
Output:
Parameterized constructor
Default constructor
Get The class instance of Using ‘this’ keyword
Let’s see the example of get the current instance of a class using a method.
class TestCode {
int num1;
int num2;
// Default constructor
TestCode() {
num1 = 20;
num1 = 40;
}
//Method returns current class instance
TestCode get()
{
return this;
}
//Displaying value of variables
void display()
{
System.out.println("Number 1 = " + num1 + " Number 2 = " + num2);
}
public static void main(String[] args)
{
TestCode testCode = new TestCode();
testCode.get().display();
}
}
Do comment if you have any doubts and suggestions on this tutorial.
Note: This example (Project) is developed in IntelliJ IDEA 2018.2.6 (Community Edition)
JRE: 11.0.1
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.14.1
Java version 11
All Java this keyword examples are in Java 11, so it may change on different from Java 9 or 10 or upgraded versions.