this keyword in Java

this keyword is used to refer the current object.

this keyword can be used for referencing

this keyword for instance variables

Instance variables can be referenced using this keyword.

Example 1

class ThisVariableTest{

int data;

void assign(int i){

this.data=i;

System.out.println("Value of 'data' variable is "+this.data);

}

public static void main(String args[]){

ThisVariableTest tvt=new ThisVariableTest();

tvt.assign(5);

}

}

Try In Editor

Output

Value of 'data' variable is 5


To differentiate a instance variable from a local variable we can use this keyword.

Example 2

class ThisVariableTest2{

int data;

void assign(int data){

this.data=data;

System.out.println("Value of 'data' variable is "+this.data);

}

public static void main(String args[]){

ThisVariableTest2 tvt=new ThisVariableTest2();

tvt.assign(5);

}

}

Try In Editor

Output

Value of 'data' variable is 5


this keyword for instance methods

Instance methods can be referenced using this keyword.

this keyword can be used to reference the method of current object.

Example

class ThisMethodTest{

void assign(int i){

this.square(i);

}

void square(int i){

System.out.println("Square of the value is "+i*i);

}

public static void main(String args[]){

ThisMethodTest tvt=new ThisMethodTest();

tvt.assign(5);

}

}

Try In Editor

Output

Square of the value is 25


We can also use Class_name.this to refer the current object for a specific class. For example, we can use ThisMethodTest.this.assign(i) instead of this.assign(i) in the above program. This will be explained fully in inner classes.