this is a Java keyword that refers to the current object of a class.
Uses of this keyword:
The following are some examples of how to utilize this keyword:
- this can be used to refer to the current instance variable of a class.
- this can be used to call the method of the current class (implicitly)
- this() can be used to call the constructor of the current class.
- In the method call, this can be given as an argument.
- In the constructor call, this can be provided as a parameter.
- this can be used to get the current instance of the class from a method.
1. Using ‘this’ keyword to refer current class instance variables:
//Java code for using 'this' keyword to
//refer current class instance variables
class 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’ keyword to invoke current class method:
// Java code for using this to invoke current
// class method
class Test {
void display()
{
// calling function show()
this.show();
System.out.println("display function");
}
void show() {
System.out.println("show function");
}
public static void main(String args[]) {
Test t1 = new Test();
t1.display();
}
}
Output:
show function
display function
3. Using this() to invoke current class constructor
// Java code for using this() to
// invoke current class constructor
class Test
{
int a;
int b;
//Default constructor
Test()
{
this(10, 20);
System.out.println("Coderzpy default constructor \n");
}
//Parameterized constructor
Test(int a, int b)
{
this.a = a;
this.b = b;
System.out.println("Coderzpy parameterized constructor");
}
public static void main(String[] args)
{
Test object = new Test();
}
}
Output:
Coderzpy parameterized constructor
Coderzpy default constructor
4. Using ‘this’ keyword as method argument:
// Java code for using 'this'
// keyword as method parameter
class 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 as an argument in the constructor call:
// Java code for using this as an argument in constructor
// call
// Class with object of Class B as its data member
class 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
6. Using ‘this’ keyword to return the current class instance
//Java code for using 'this' keyword
//to return the current class instance
class 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
Note: also read about the
Follow Me
If you like my post please follow me to read my latest post on programming and technology.
https://www.instagram.com/coderz.py/
https://www.facebook.com/coderz.py
Staying up to the mark is what defines me. Hi all! I’m Rabecca Fatima a keen learner, great enthusiast, ready to take new challenges as stepping stones towards flying colors.
Leave a Comment