V Javi je 'to' referenčna spremenljivka, ki se nanaša na trenutni objekt, lahko pa rečemo, da je to v Javi ključna beseda, ki se nanaša na trenutni primerek predmeta. Uporablja se lahko za klicanje metod in polj trenutnega razreda, za posredovanje primerka trenutnega razreda kot parametra in za razlikovanje med lokalnimi spremenljivkami in spremenljivkami primerka. Uporaba te reference lahko izboljša berljivost kode in zmanjša spore pri poimenovanju.
Java ta referenca Primer
V Javi je to referenčna spremenljivka, ki se nanaša na trenutni objekt, na katerem se kliče metoda ali konstruktor. Uporablja se lahko za dostop do spremenljivk primerka in metod trenutnega objekta.
Spodaj je izvedba te reference:
Java
java mvc
// Java Program to implement> // Java this reference> // Driver Class> public> class> Person {> > // Fields Declared> > String name;> > int> age;> > // Constructor> > Person(String name,> int> age)> > {> > this> .name = name;> > this> .age = age;> > }> > // Getter for name> > public> String get_name() {> return> name; }> > // Setter for name> > public> void> change_name(String name)> > {> > this> .name = name;> > }> > // Method to Print the Details of> > // the person> > public> void> printDetails()> > {> > System.out.println(> 'Name: '> +> this> .name);> > System.out.println(> 'Age: '> +> this> .age);> > System.out.println();> > }> > // main function> > public> static> void> main(String[] args)> > {> > // Objects Declared> > Person first => new> Person(> 'ABC'> ,> 18> );> > Person second => new> Person(> 'XYZ'> ,> 22> );> > first.printDetails();> > second.printDetails();> > first.change_name(> 'PQR'> );> > System.out.println(> 'Name has been changed to: '> > + first.get_name());> > }> }> |
>
>Izhod
Name: ABC Age: 18 Name: XYZ Age: 22 Name has been changed to: PQR>
Pojasnilo
V zgornji kodi smo definirali razred osebe z dvema zasebnima poljema ime in starost. Definirali smo konstruktor razreda Oseba za inicializacijo teh polj s to ključno besedo. Definirali smo tudi metode pridobivanja in nastavljanja za ta polja, ki uporabljajo to ključno besedo za sklicevanje na trenutni primerek objekta.
V metodi printDetails() smo to ključno besedo uporabili za sklicevanje na trenutni primerek predmeta in tiskanje njegovega imena, starosti in reference objekta.
V razredu Main smo ustvarili dva objekta Person in za vsak objekt poklicali metodo printDetails(). Izhod prikazuje ime, starost in sklic na objekt vsakega primerka objekta.
Metode za uporabo 'tega' v Javi
Sledijo načini uporabe ključne besede »ta« v Javi, omenjeni spodaj:
- Uporaba ključne besede 'ta' za sklicevanje na spremenljivke trenutnega primerka razreda.
- Uporaba tega() za priklic trenutnega konstruktorja razreda
- Uporaba ključne besede 'ta' za vrnitev trenutnega primerka razreda
- Uporaba ključne besede 'ta' kot parameter metode
- Uporaba ključne besede 'ta' za priklic metode trenutnega razreda
- Uporaba ključne besede 'this' kot argumenta v klicu konstruktorja
1. Uporaba ključne besede 'ta' za sklicevanje na spremenljivke primerka trenutnega razreda
Java
diana ankudinova
// 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();> > }> }> |
>
>Izhod
a = 10 b = 20>
2. Uporaba tega() za priklic trenutnega konstruktorja razreda
Java
// 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(> > 'Inside default constructor
'> );> > }> > // Parameterized constructor> > Test(> int> a,> int> b)> > {> > this> .a = a;> > this> .b = b;> > System.out.println(> > 'Inside parameterized constructor'> );> > }> > public> static> void> main(String[] args)> > {> > Test object => new> Test();> > }> }> |
>
>Izhod
Inside parameterized constructor Inside default constructor>
3. Uporaba ključne besede 'ta' za vrnitev trenutnega primerka razreda
Java
// 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();> > }> }> |
>
cm do stopal in palcev
>Izhod
kako preveriti velikost zaslona
a = 10 b = 20>
4. Uporaba ključne besede 'this' kot parametra metode
Java
// 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> ); }> > // main function> > public> static> void> main(String[] args)> > {> > Test object => new> Test();> > object.get();> > }> }> |
>
>Izhod
a = 10 b = 20>
5. Uporaba ključne besede 'ta' za priklic metode trenutnega razreda
Java
// Java code for using this to invoke current> // class method> class> Test {> > void> display()> > {> > // calling function show()> > this> .show();> > System.out.println(> 'Inside display function'> );> > }> > void> show()> > {> > System.out.println(> 'Inside show function'> );> > }> > public> static> void> main(String args[])> > {> > Test t1 => new> Test();> > t1.display();> > }> }> |
>
>Izhod
gimp shrani kot jpeg
Inside show function Inside display function>
6. Uporaba ključne besede 'this' kot argumenta v klicu konstruktorja
Java
// 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 an 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();> > }> }> |
>
>Izhod
Value of x in Class B : 5>
Prednosti uporabe 'tega' sklica
Obstajajo nekatere prednosti uporabe 'tega' reference v Javi, kot je navedeno spodaj:
- Pomaga pri razlikovanju med spremenljivkami primerka in lokalnimi spremenljivkami z istim imenom.
- Uporablja se lahko za posredovanje trenutnega predmeta kot argumenta drugi metodi.
- Uporablja se lahko za vrnitev trenutnega predmeta iz metode.
- Uporablja se lahko za priklic konstruktorja iz drugega preobremenjenega konstruktorja v istem razredu.
Slabosti uporabe 'tega' sklica
Čeprav ima 'ta' referenca veliko prednosti, ima tudi nekatere pomanjkljivosti:
- Prekomerna uporaba tega lahko oteži branje in razumevanje kode.
- Uporaba tega po nepotrebnem lahko programu doda nepotrebne stroške.
- Uporaba tega v statičnem kontekstu povzroči napako med prevajanjem.
- Na splošno je ta ključna beseda uporabno orodje za delo s predmeti v Javi, vendar jo je treba uporabljati preudarno in le, kadar je to potrebno.
Ta članek je prispeval Mehak Narang in Amit Kumar .