আমি এই কীওয়ার্ড থেকে যা বুঝলাম তা ভাগ করে নিতে চাই। এই কীওয়ার্ডটির জাভাতে 6 টি ব্যবহার রয়েছে:
1. এটি বর্তমান বর্গ ভেরিয়েবল উল্লেখ করতে ব্যবহার করা যেতে পারে।
আসুন একটি কোড দিয়ে বুঝতে পারি। *
নীচে প্রদত্ত উদাহরণ দিয়ে যদি আমরা এই কীওয়ার্ডটি ব্যবহার না করি তবে সমস্যাটি বুঝতে পারি:
class Employee{
int id_no;
String name;
float salary;
Student(int id_no,String name,float salary){
id_no = id_no;
name=name;
salary = salary;
}
void display(){System.out.println(id_no +" "+name+" "+ salary);}
}
class TestThis1{
public static void main(String args[]){
Employee s1=new Employee(111,"ankit",5000f);
Employee s2=new Employee(112,"sumit",6000f);
s1.display();
s2.display();
}}
আউটপুট: -
0 null 0.0
0 null 0.0
উপরের উদাহরণে প্যারামিটার (আনুষ্ঠানিক যুক্তি) এবং উদাহরণ ভেরিয়েবলগুলি একই। সুতরাং, আমরা এই কীওয়ার্ডটি স্থানীয় ভেরিয়েবল এবং উদাহরণ ভেরিয়েবলের পার্থক্য করতে ব্যবহার করছি।
class Employee{
int id_no;
String name;
float salary;
Student(int id_no,String name,float salary){
this.id_no = id_no;
this.name=name;
this.salary = salary;
}
void display(){System.out.println(id_no +" "+name+" "+ salary);}
}
class TestThis1{
public static void main(String args[]){
Employee s1=new Employee(111,"ankit",5000f);
Employee s2=new Employee(112,"sumit",6000f);
s1.display();
s2.display();
}}
আউটপুট:
111 ankit 5000
112 sumit 6000
২. বর্তমান শ্রেণি পদ্ধতিতে প্রার্থনা করা।
class A{
void m(){System.out.println("hello Mandy");}
void n(){
System.out.println("hello Natasha");
//m();//same as this.m()
this.m();
}
}
class TestThis4{
public static void main(String args[]){
A a=new A();
a.n();
}}
আউটপুট:
hello Natasha
hello Mandy
৩. বর্তমান বর্গ নির্মাণকারীকে প্রার্থনা করা। এটি চেইন কনস্ট্রাক্টর করতে ব্যবহৃত হয়।
class A{
A(){System.out.println("hello ABCD");}
A(int x){
this();
System.out.println(x);
}
}
class TestThis5{
public static void main(String args[]){
A a=new A(10);
}}
আউটপুট:
hello ABCD
10
4. পদ্ধতিতে একটি আর্গুমেন্ট হিসাবে পাস।
class S2{
void m(S2 obj){
System.out.println("The method is invoked");
}
void p(){
m(this);
}
public static void main(String args[]){
S2 s1 = new S2();
s1.p();
}
}
আউটপুট:
The method is invoked
৫. কনস্ট্রাক্টর কলে একটি আর্গুমেন্ট হিসাবে পাস করতে
class B{
A4 obj;
B(A4 obj){
this.obj=obj;
}
void display(){
System.out.println(obj.data);//using data member of A4 class
}
}
class A4{
int data=10;
A4(){
B b=new B(this);
b.display();
}
public static void main(String args[]){
A4 a=new A4();
}
}
আউটপুট: -
10
Current. বর্তমান শ্রেণীর উদাহরণটি ফিরিয়ে আনতে
class A{
A getA(){
return this;
}
void msg(){System.out.println("Hello");}
}
class Test1{
public static void main(String args[]){
new A().getA().msg();
}
}
আউটপুট: -
Hello
এছাড়াও, এই কীওয়ার্ডটি (বিন্দু) ব্যতীত ব্যবহার করা যাবে না কারণ এটির বাক্য গঠনটি অবৈধ।