Що це за ключове слово на Java?

Java - це об'єктно-орієнтована мова, і одночасно може бути багато об’єктів, на тих, якими ми могли б працювати, ключове слово "це" тут відображається на малюнку, оскільки воно допомагає вказувати на поточний екземпляр або поточний об'єкт класу.

Отже, коли ми хочемо викликати методи поточного класу, коли ми хочемо викликати конструктор поточного класу, повертаємо поточний екземпляр з методів, передаємо поточний екземпляр методам; у всіх цих випадках це ключове слово стає корисним.

Приклади використання випадків

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

Навіщо використовувати це ключове слово на Java?

  • Ця змінна діє як кінцева змінна в java, тобто ми не можемо присвоїти будь-якому значенню змінної "ця", це можна перехресно перевірити, призначивши значення ключовому слову "це", і це призведе до помилки компіляції.
  • "це" може використовуватися і для посилання на статичні члени (але це не робиться), тому що статичні члени оголошуються лише один раз, тобто розподіл пам'яті, зроблений їм один раз, і якщо ми спробуємо зробити маніпуляції за допомогою ключового слова "це", тоді це завжди буде маніпулювати даними, розміщеними в цьому місці пам'яті, а не створювати дані в нових місцях пам'яті, що роблять об'єкти.
  • Це запобігає завданню зайвих присвоєнь змінним, і часом нам також не потрібно створювати зайві змінні, "це" ключове слово, де б він не був використаний, дає нам впевненість, що посилається на поточний екземпляр.

Важливість цього ключового слова

Наведені нижче приклади показують, що нам потрібно створити змінні з різними іменами для певних властивостей, їх можна просто призначити в конструкторі під час ініціалізації об'єкта за допомогою цього ключового слова.

  • Запобігає конфлікту іменної змінної та локальної змінної, можна посилатися на змінну члена за допомогою цього ключового слова.

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