‘this’ reference in Java

27 Jul, 2021
‘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. 
Akanksha_Rai
imeenalgrover
arorakashish0911
varshagumber28
simmytarika5
java-basics
Java
School Programming
Java
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Split() String method in Java with examples
Arrays.sort() in Java with examples
Reverse a string in Java
How to iterate any Map in Java
Stream In Java
Python Dictionary
Reverse a string in Java
Arrays in C/C++
Introduction To PYTHON
Inheritance in C++