coderz.py

Keep Coding Keep Cheering!

this keyword in Java

java thread class

this is a Java keyword that refers to the current object of a class.

this keyword in java
Uses of this keyword:

The following are some examples of how to utilize this keyword:

  1. this can be used to refer to the current instance variable of a class.
  2. this can be used to call the method of the current class (implicitly)
  3. this() can be used to call the constructor of the current class.
  4. In the method call, this can be given as an argument.
  5. In the constructor call, this can be provided as a parameter.
  6. 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

Leave a Comment

Your email address will not be published. Required fields are marked *

Advertisement