this keyword in Java is a special keyword which can be used
to represent current object or instance of any class in Java.
“this” keyword can also call constructor of same class in
Java and used to call overloaded constructor. In this Java tutorial
we will see how to use this keyword in Java and
different examples of this in Java. this sometime also associate with super keyword
which is used to denote instance of super class in Java and can be used to call overloaded constructor in Java.
this keyword in Java
Important points about this keyword in Java
here are few important points related to using this keyword in
Java.
1) this keyword represent
current instance of class.
2) You can synchronize on this in synchronizedblock
in Java
synchronized(this){
//this synchronized block
will be locked on current instance
}
3) this keyword can be used to
call overloadedconstructor
in java. if used than it must be
first statement in constructor this() will call no
argument constructor and this(parameter) will call
one argument constructor with appropriate parameter. here
is an example of using this() for constructor chaining:
Example of this keyword to
call constructor in Java
class Loan{
private double
interest;
private String
type;
public
Loan(){
this(“personal loan”);
}
public
Loan(String type){
this.type = type;
this.interest = 0.0;
}
}
4) If member variable and local variable name
conflict than this can be used to refer member variable.
here is an example of this with member variable:
public
Loan(String type, double interest){
this.type = type;
this.interest = interest;
}
Here local variable interest and member variable
interest conflict which is easily resolve by referring member variable as this.interest
5) this is a final variablein
Java and you can not assign value to this. this will result in
compilation
error:
this = new
Loan(); //cannot assign value to final variable : this
6) you can call methods of class
by using this keyword as shown in below example.
public
String getName(){
return this.toString();
}
7) this can be used to
return object. this is a valid return value.
here is an example of using as return value.
public Loan getLoan(){
return this;
}
8) this can be used to
refer static membersin Java as well but its discouraged and as per best practices
this should be used on non
static reference.
9) "this" keyword can not be
used in static context i.e. inside static methods or staticinitializer block.
if use this inside static context you will get
compilation error as shown in below example:
public static void
main(String args){
this.toString{}; //compilation error: non static variable this can not
be used in static context
}
10) this can also be passed as
method parameters since it represent current object of class.
That’s all on this keyword in Java.
You should know about this and super keyword and get yourself familiar with
different usage of this keyword in java.