logo

ta ključna beseda v Javi

Uporabe je lahko veliko Java to ključno besedo . V Javi je to a referenčna spremenljivka ki se nanaša na trenutni predmet.

java to ključno besedo

Uporaba Jave ta ključna beseda

Tukaj je podana 6 uporaba jave te ključne besede.

  1. to lahko uporabite za sklicevanje na spremenljivko primerka trenutnega razreda.
  2. to lahko uporabite za priklic trenutne metode razreda (implicitno)
  3. this() lahko uporabite za priklic trenutnega konstruktorja razreda.
  4. to lahko posredujete kot argument v klicu metode.
  5. to lahko posredujete kot argument v klicu konstruktorja.
  6. to lahko uporabite za vrnitev trenutnega primerka razreda iz metode.

Predlog: Če ste začetnik v Javi, poiščite samo tri uporabe te ključne besede.

Uporaba Jave ta ključna beseda

1) to: za sklic na spremenljivko primerka trenutnega razreda

Ključno besedo this lahko uporabite za sklicevanje na spremenljivko primerka trenutnega razreda. Če obstaja dvoumnost med spremenljivkami primerka in parametri, ta ključna beseda odpravi težavo dvoumnosti.

Razumevanje problema brez te ključne besede

Razumejmo težavo, če ne uporabimo te ključne besede, s spodnjim primerom:

polje dodajanje elementov java
 class Student{ int rollno; String name; float fee; Student(int rollno,String name,float fee){ rollno=rollno; name=name; fee=fee; } void display(){System.out.println(rollno+' '+name+' '+fee);} } class TestThis1{ public static void main(String args[]){ Student s1=new Student(111,'ankit',5000f); Student s2=new Student(112,'sumit',6000f); s1.display(); s2.display(); }} 
Preizkusite zdaj

Izhod:

 0 null 0.0 0 null 0.0 

V zgornjem primeru so parametri (formalni argumenti) in spremenljivke primerka enaki. Torej, to ključno besedo uporabljamo za razlikovanje lokalne spremenljivke in spremenljivke primerka.

Rešitev zgornjega problema s to ključno besedo

 class Student{ int rollno; String name; float fee; Student(int rollno,String name,float fee){ this.rollno=rollno; this.name=name; this.fee=fee; } void display(){System.out.println(rollno+' '+name+' '+fee);} } class TestThis2{ public static void main(String args[]){ Student s1=new Student(111,'ankit',5000f); Student s2=new Student(112,'sumit',6000f); s1.display(); s2.display(); }} 
Preizkusite zdaj

Izhod:

 111 ankit 5000.0 112 sumit 6000.0 

Če so lokalne spremenljivke (formalni argumenti) in spremenljivke primerka različne, ni potrebe po uporabi te ključne besede, kot v naslednjem programu:

pretvori niz v int v javi

Program, kjer ta ključna beseda ni potrebna

 class Student{ int rollno; String name; float fee; Student(int r,String n,float f){ rollno=r; name=n; fee=f; } void display(){System.out.println(rollno+' '+name+' '+fee);} } class TestThis3{ public static void main(String args[]){ Student s1=new Student(111,'ankit',5000f); Student s2=new Student(112,'sumit',6000f); s1.display(); s2.display(); }} 
Preizkusite zdaj

Izhod:

 111 ankit 5000.0 112 sumit 6000.0 

Boljši pristop je uporaba smiselnih imen za spremenljivke. Tako uporabljamo isto ime za na primer spremenljivke in parametre v realnem času in vedno uporabljamo to ključno besedo.


2) to: za priklic metode trenutnega razreda

Metodo trenutnega razreda lahko prikličete z uporabo ključne besede this. Če ne uporabite ključne besede this, prevajalnik med priklicem metode samodejno doda to ključno besedo. Poglejmo primer

 class A{ void m(){System.out.println('hello m');} void n(){ System.out.println('hello n'); //m();//same as this.m() this.m(); } } class TestThis4{ public static void main(String args[]){ A a=new A(); a.n(); }} 
Preizkusite zdaj

Izhod:

 hello n hello m 

3) this() : za priklic trenutnega konstruktorja razreda

Klic konstruktorja this() lahko uporabite za priklic trenutnega konstruktorja razreda. Uporablja se za ponovno uporabo konstruktorja. Z drugimi besedami, uporablja se za veriženje konstruktorjev.

Klicanje privzetega konstruktorja iz parametriranega konstruktorja:

 class A{ A(){System.out.println('hello a');} A(int x){ this(); System.out.println(x); } } class TestThis5{ public static void main(String args[]){ A a=new A(10); }} 
Preizkusite zdaj

Izhod:

 hello a 10 

Klicanje parametriziranega konstruktorja iz privzetega konstruktorja:

 class A{ A(){ this(5); System.out.println('hello a'); } A(int x){ System.out.println(x); } } class TestThis6{ public static void main(String args[]){ A a=new A(); }} 
Preizkusite zdaj

Izhod:

 5 hello a 

Dejanska uporaba klica konstruktorja this().

Klic konstruktorja this() je treba uporabiti za ponovno uporabo konstruktorja iz konstruktorja. Ohranja verigo med konstruktorji, tj. uporablja se za veriženje konstruktorjev. Oglejmo si spodnji primer, ki prikazuje dejansko uporabo te ključne besede.

 class Student{ int rollno; String name,course; float fee; Student(int rollno,String name,String course){ this.rollno=rollno; this.name=name; this.course=course; } Student(int rollno,String name,String course,float fee){ this(rollno,name,course);//reusing constructor this.fee=fee; } void display(){System.out.println(rollno+' '+name+' '+course+' '+fee);} } class TestThis7{ public static void main(String args[]){ Student s1=new Student(111,'ankit','java'); Student s2=new Student(112,'sumit','java',6000f); s1.display(); s2.display(); }} 
Preizkusite zdaj

Izhod:

 111 ankit java 0.0 112 sumit java 6000.0 

Pravilo: Klic this() mora biti prvi stavek v konstruktorju.

 class Student{ int rollno; String name,course; float fee; Student(int rollno,String name,String course){ this.rollno=rollno; this.name=name; this.course=course; } Student(int rollno,String name,String course,float fee){ this.fee=fee; this(rollno,name,course);//C.T.Error } void display(){System.out.println(rollno+' '+name+' '+course+' '+fee);} } class TestThis8{ public static void main(String args[]){ Student s1=new Student(111,'ankit','java'); Student s2=new Student(112,'sumit','java',6000f); s1.display(); s2.display(); }} 
Preizkusite zdaj

Izhod:

 Compile Time Error: Call to this must be first statement in constructor 

4) to: prenesti kot argument v metodi

Ključno besedo this lahko posredujete tudi kot argument v metodi. Uporablja se predvsem pri obravnavi dogodkov. Poglejmo primer:

jedrni jezik java
 class S2{ void m(S2 obj){ System.out.println('method is invoked'); } void p(){ m(this); } public static void main(String args[]){ S2 s1 = new S2(); s1.p(); } } 
Preizkusite zdaj

Izhod:

 method is invoked 

Uporaba tega, ki se lahko posreduje kot argument:

Pri obravnavanju dogodkov (ali) v situaciji, ko moramo zagotoviti referenco razreda na drugega. Uporablja se za ponovno uporabo enega predmeta v številnih metodah.


5) to: prenesti kot argument v klicu konstruktorja

To ključno besedo lahko posredujemo tudi v konstruktorju. Uporabno je, če moramo uporabiti en objekt v več razredih. Poglejmo primer:

kaj je vmesnik
 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(); } } 
Preizkusite zdaj
 Output:10 

6) to ključno besedo lahko uporabite za vrnitev trenutnega primerka razreda

To ključno besedo lahko vrnemo kot izjavo metode. V takem primeru mora biti povratni tip metode tip razreda (neprimitivni). Poglejmo primer:

Sintaksa tega, ki se lahko vrne kot stavek

 return_type method_name(){ return this; } 

Primer te ključne besede, ki jo vrnete kot stavek metode

 class A{ A getA(){ return this; } void msg(){System.out.println('Hello java');} } class Test1{ public static void main(String args[]){ new A().getA().msg(); } } 
Preizkusite zdaj

Izhod:

 Hello java 

Dokazovanje te ključne besede

Dokažimo, da se ta ključna beseda nanaša na trenutno spremenljivko primerka razreda. V tem programu natisnemo referenčno spremenljivko in to, izhod obeh spremenljivk je enak.

 class A5{ void m(){ System.out.println(this);//prints same reference ID } public static void main(String args[]){ A5 obj=new A5(); System.out.println(obj);//prints the reference ID obj.m(); } } 
Preizkusite zdaj

Izhod:

 A5@22b3ea59 A5@22b3ea59