‘this’ reference in Java
‘this’ is a reference variable that refers to the current object.
Following are the ways to use ‘this’ keyword in java :
1. Using ‘this’ keyword to refer current class instance variables
Java
//Java code for using 'this' keyword to//refer current class instance variablesclass Test{ int a; int b; // Parameterized constructor Test(int a, int b) { this.a = a; this.b = b; } void display() { //Displaying value of variables a and b System.out.println("a = " + a + " b = " + b); } public static void main(String[] args) { Test object = new Test(10, 20); object.display(); }} |
Output:
a = 10 b = 20
2. Using this() to invoke current class constructor
Java
// Java code for using this() to// invoke current class constructorclass Test{ int a; int b; //Default constructor Test() { this(10, 20); System.out.println("Inside default constructor \n"); } //Parameterized constructor Test(int a, int b) { this.a = a; this.b = b; System.out.println("Inside parameterized constructor"); } public static void main(String[] args) { Test object = new Test(); }} |
Output:
Inside parameterized constructor Inside default constructor
3. Using ‘this’ keyword to return the current class instance
Java
//Java code for using 'this' keyword//to return the current class instanceclass Test{ int a; int b; //Default constructor Test() { a = 10; b = 20; } //Method that returns current class instance Test get() { return this; } //Displaying value of variables a and b void display() { System.out.println("a = " + a + " b = " + b); } public static void main(String[] args) { Test object = new Test(); object.get().display(); }} |
Output:
a = 10 b = 20
4. Using ‘this’ keyword as method parameter
Java
// Java code for using 'this'// keyword as method parameterclass Test{ int a; int b; // Default constructor Test() { a = 10; b = 20; } // Method that receives 'this' keyword as parameter void display(Test obj) { System.out.println("a = " +obj.a + " b = " + obj.b); } // Method that returns current class instance void get() { display(this); } public static void main(String[] args) { Test object = new Test(); object.get(); }} |
Output:
a = 10 b = 20
5. Using ‘this’ keyword to invoke current class method
Java
// Java code for using this to invoke current// class methodclass Test { void display() { // calling function show() this.show(); System.out.println("Inside display function"); } void show() { System.out.println("Inside show function"); } public static void main(String args[]) { Test t1 = new Test(); t1.display(); }} |
Output:
Inside show function Inside display function
6. Using ‘this’ keyword as an argument in the constructor call
Java
// Java code for using this as an argument in constructor// call// Class with object of Class B as its data memberclass A{ B obj; // Parameterized constructor with object of B // as a parameter A(B obj) { this.obj = obj; // calling display method of class B obj.display(); } }class B{ int x = 5; // Default Constructor that create a object of A // with passing this as an argument in the // constructor B() { A obj = new A(this); } // method to show value of x void display() { System.out.println("Value of x in Class B : " + x); } public static void main(String[] args) { B obj = new B(); }} |
Output:
Value of x in Class B : 5
This article is contributed by Mehak Narang and Amit Kumar.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.




