Mis on see märksõna Java-s?

Java on objektorienteeritud keel ja korraga võib esineda palju objekte, nendel, mida me võiksime kasutada, on see märksõna siin pildil, kuna see aitab näidata klassi praegust esinemisjuhtu või objekti.

Seega, kui vaatame praeguse klassi meetodeid, kui tahame kutsuda praeguse klassi konstruktorit, tagastame praeguse eksemplari meetoditest, anname praeguse eksemplari meetoditele; kõigil neil juhtudel on see märksõna mugav.

Kasutusjuhtumite näited

  1. Mitmekeermestatud sünkroniseeritud plokk kasutab seda märksõna argumendina
  2. Ehitaja ülekoormus

Miks kasutada seda märksõna Java-s?

  • 'see' muutuja toimib javas lõpliku muutujana, st me ei saa sellele muutujale mingit väärtust määrata, seda saab ristkontrollida, määrates väärtuse sellele märksõnale, ja see toob kaasa kompileerimisvea.
  • 'seda' saab kasutada ka staatiliste liikmete viitamiseks (kuid seda ei tohi teha), kuna staatilisi liikmeid deklareeritakse ainult üks kord, st neile tehtud mälujaotus on ainult üks kord ja kui proovime manipuleerida kasutades 'seda' märksõna, siis see manipuleerib alati sellesse mälupesa paigutatud andmetega, mitte ei loo andmeid uutesse mälupesadesse, mida objektid teevad.
  • See hoiab ära ülesande muutujatele tarbetuid määranguid teha ja mõnikord ei pea me ka lisamuutujaid looma, sest "see" märksõna annab meile igal juhul kindluse, et viidatakse praegusele esinemisjuhule.

Selle märksõna tähtsus

Allpool toodud näited näitavad, et peame looma teatud atribuutide jaoks erinevate nimedega muutujad, neid saab objektile lähtestamisel selle märksõna abil lihtsalt konstruktorisse määrata.

  • Hoiab ära liikme muutuja ja kohaliku muutuja nime konflikti. Selle muutuja abil saab liige muutujale viidata.

public class Student (
int marks;
String subjectName;
//constructor
public Student(int marks, String subjectName)
(
this.marks = marks;
this.subjectName=subjectName;
)
public Student()
(
)
public static void main(String args())
(
Student s = new Student(1, "name");
)
)

  • Selle abil saab tugineda ka objektiklassi meetoditele.

//consider a method shown here
public String getName()
(
return this.toString();
)

  • Seda saab kasutada setter- ja getter-meetodites praeguste esinemisjuhtude tagastamiseks.

Public int getmarks()
(
return this.marks;
)
public void setMarks(int marks)
(
this.marks =marks;
)

Selle märksõna erikasutus

Siin on mõned selle märksõna kasutamisvõimalused, mida selgitatakse allpool koos rakendamisega:

1. Kasutage väljal koos

public class PointCoordinates (
public int xval = 0;
public int yval = 0;
//constructor
public PointCoordinates (int a, int b) (
xval = a;
yval = b;
)
public static void main(String args())
(
)
)

Kuid selle oleks võinud kirjutada nii:

public class PointCoordinates (
public int xval = 0;
public int yval= 0;
//constructor
public PointCoordinates (int xval, int yval) (
this.xval = xval;
this.yval = yval;
)
public static void main(String args())
(
)
)

Niisiis selgitasime seda ka viimases jaotises, kus on näha, et kui me kasutame seda märksõna, siis ühe tüüpi andmevälja nimetamismeetodeid saab ühtlasena hoida.

Seetõttu ei peaks arendaja jälgima ega kaardistama sama tüüpi loogilise andmevälja muutujate diagrammi.

2. Ehitaja kutse selle märksõna abil

Saame seda märksõna kasutada konstruktori sees ja kutsuda samasse klassi veel ühe ehitaja. Seda nimetatakse ka selgesõnaliseks konstruktori kutsumiseks.

Vaatleme allpool toodud näidet sama kohta -

public class Square (
private int x;
private int side;
public Square () (
this(1);
)
public Square (int side) (
this(0, side);
)
public Square (int x, int side) (
this.x = x;
this.side = side;
)
public static void main(String args())
(
)
)

Siin on pildil kolm konstruktorit. Pange tähele, et vaikimisi mõeldud konstruktor peaks olema paigutatud selgesõnaliselt, kui me teeme konstruktori ülekoormust.

Need konstruktorid initsialiseerivad mõned liikemuutujad, kompilaator saab siin meetodi sees kasutatud parameetrite arvu kaudu viiteid konstruktori kutsumisele.

3. Praeguse klassi astme tagastamine selle märksõna abil

class Rectangle
(
int height;
int width;
Rectangle()
(
height = 10;
width = 20;
)
//Method to return current class instance
Rectangle getObject()
(
return this;
)
public void print()
(
System.out.println(height+", "+ width);
)
public static void main(String() args)
(
Rectangle object = new Rectangle();
object.getObject().print();
)
)

Ülaltoodud näites on näha, et aktiivne objekt tagastatakse getter-meetodil ja sel juhul on kasutatud konkreetset meetodit “print”.

4. Kasutage meetodiparameetrina

class Rectangle
(
int height;
int width;
Rectangle()
(
height = 10;
width = 20;
)
void getObject()
(
print(this);
)
public void print(Rectangle object)
(
System.out.println(object.height + ", " + object.width);
)
public static void main(String() args)
(
Rectangle object = new Rectangle();
object.getObject();
)
)

Näites viidati sellele, kuidas praegune objekt edastatakse meetodile, mida saab kasutada selle objekti kohandatud kasutamiseks.

Järeldus

Nägime siin mitmesuguseid kasutusjuhtumeid, viidates selle märksõna javas vastusevariantidele ning sellele, kus kasutada ja kus mitte kasutada, need tingimused on selgesõnaliselt üles seatud.
"see" märksõna on levinud kõigis programmeerimiskeeltes, ka javascriptipõhistes raamides, "see" leiab võtmerolli.
„see” märksõna võib muutuda üldiseks, kui seda ei mõisteta hästi, ja kui seda õigesti mõista, on see arendajatele suureks abiks.

Soovitatavad artiklid

See on java selle märksõna juhend. Siin käsitleme selle märksõna tähtsust, konkreetseid kasutusviise ja näiteid javas koos selle koodi rakendamisega. Lisateabe saamiseks võite vaadata ka järgmisi artikleid -

  1. Objekt Java-s
  2. Kapseldamine JavaScripti
  3. Staatiline märksõna Java-s
  4. Java ülekoormamine ja alistamine
  5. Üldamise funktsioon ja reeglid Pythonis

Kategooria: