Каква е тази ключова дума в Java?

Java е обектно-ориентиран език и може да има много обекти, присъстващи наведнъж, в тези, с които бихме могли да работим, „тази” ключова дума тук идва на снимката, защото помага да се посочи текущата инстанция или текущия обект на клас.

Следователно, когато търсим да извикаме методи от текущия клас, когато искаме да се позовем на конструктора на текущия клас, върнем текущия екземпляр от методите, предадем текущия екземпляр на методи; във всички тези случаи тази ключова дума е полезна.

Примерни случаи на използване

  1. Синхронизираният блок в многопоточност използва тази ключова дума като аргумент
  2. Претоварване на конструктора

Защо да използвате тази ключова дума в Java?

  • променливата 'тази' действа като крайна променлива в java, т.е. ние не можем да присвоим никаква стойност на променливата 'тази', това може да бъде проверено чрез кръстосана стойност чрез присвояване на стойност на тази 'ключова дума и това ще доведе до компилация грешка.
  • 'това' може да се използва и за препращане на статични членове (но това не трябва да се прави), защото статичните членове се декларират само веднъж, т.е. разпределението на паметта, извършено за тях, е само веднъж и ако се опитаме да правим манипулации, използвайки ключова дума 'this', тогава тя винаги ще манипулира данните, поставени на това място в паметта, а не да създава данни на нови места в паметта, което правят обектите.
  • Това предотвратява задачата да правим ненужни присвояване на променливи и понякога не е необходимо да създаваме и допълнителни променливи, "тази" ключова дума, където и да се използва, ни дава сигурността, че текущият екземпляр се препраща.

Значение на тази ключова дума

Примерите по-долу показват, че трябва да създадем променливи с различни имена за конкретни свойства, те могат просто да бъдат назначени в конструктора по време на инициализация на обекта с помощта на тази ключова дума.

  • Предотвратява конфликта на имена на променливи на членове и локална променлива, човек може да препрати променливата член, използвайки тази ключова дума.

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");
)
)

  • Методите на обектния клас също могат да бъдат извиквани с помощта на това.

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

  • Това може да се използва в setter и getter методи, за да се върнат текущите екземпляри.

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

Конкретни употреби на тази ключова дума

Ето някои приложения на тази ключова дума, обяснени по-долу с изпълнението:

1. Използвайте Без поле

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())
(
)
)

Но можеше да се пише така:

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())
(
)
)

Това беше нещо, което обяснихме и в последния раздел, където може да се види, че конвенциите за именуване на един вид поле за данни могат да бъдат еднакви, ако използваме ключовата дума „това“.

Следователно разработчикът не трябва да следи или картографира диаграма на променливи за същия вид поле за логически данни.

2. Приканване на конструктор с помощта на тази ключова дума

Можем да използваме тази ключова дума вътре в конструктор и да извикаме друг конструктор от там, в същия клас. Това също се нарича изрично извикване на конструктор.

Нека разгледаме един пример показва по-долу за същото -

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())
(
)
)

Тук на снимката има три конструктора, имайте предвид, че конструкторът по подразбиране се предполага да бъде поставен изрично, когато правим претоварване на конструктор.

Тези конструктори инициализират някои променливи членове, компилаторът получава индикация за извикването на конструктора чрез броя на параметрите, използвани в методите.

3. Връщане на екземпляра на текущия клас с помощта на тази ключова дума

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();
)
)

Така че в показания по-горе пример може да се види, че текущият обект се връща от метод на getter и в този случай се извиква конкретният метод „print“.

4. Използвайте като параметър на метода

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();
)
)

Примерът цитира как текущият обект се предава на метод, който може да използва този обект за неговото потребителско използване.

заключение

Тук видяхме различни случаи на използване, цитирайки вариантите срещу използването на тази ключова дума в Java и къде да се използва и къде да не се използват, тези условия са поставени по изричен начин.
Ключовата дума „тази“ е често срещана сред всички езици за програмиране, в рамките, базирани на JavaScript, „това“ намира ключова роля.
Ключовата дума "тази" може да се превърне в режима, ако не се разбере добре и е от голяма помощ за разработчиците, ако се разбере правилно.

Препоръчителни статии

Това е ръководство за тази ключова дума в Java. Тук обсъждаме важността, конкретните приложения и примери за тази ключова дума в Java, заедно с нейната реализация на код. Можете също да разгледате следните статии, за да научите повече-

  1. Обект в Java
  2. Капсулиране в JavaScript
  3. Статична ключова дума в Java
  4. Претоварване и отмяна в Java
  5. Функция и правила за преодоляване в Python