
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Is it possible to assign a reference to "this" in java?
The "this" keyword in Java is used as a reference to the current object, within an instance method or a constructor. Using it, you can refer the members of a class such as constructors, variables, and methods.
Assigning reference to "this"
According to the definition "this" is a keyword which acts as a reference to the current object (the object from whose constructor/method you are using it), its value id is fixed. Therefore, you cannot assign a new reference value to it. Moreover, it is just a keyword, not a variable.
Still, if you try to it assign a reference value to "this" it leads to a compilation error.
Example
In the following Java program, the class (ExampleClass) has two private variables name, age and, a parameterized constructor which instantiates these variables. From a method named display, we are trying to assign a new value to "this".
public class ExampleClass { private String name; private int age; public ExampleClass(String name, int age){ this.name = name; this.age = age; } public void display(){ this = new ExampleClass("krishna", 23); } }
Compile-time error
On compiling, this program gives you an error as shown below −
ExampleClass.java:14: error: cannot assign a value to final variable this this = new ExampleClass("krishna", 23); ^ 1 error