logo

«це» посилання на Java

У Java «this» — це довідкова змінна, яка посилається на поточний об’єкт, або можна сказати, що це в Java — це ключове слово, яке посилається на поточний екземпляр об’єкта. Його можна використовувати для виклику методів і полів поточного класу, для передачі екземпляра поточного класу як параметра та для розрізнення між локальними змінними та змінними екземпляра. Використання цього посилання може покращити читабельність коду та зменшити конфлікти імен.

Java це посилання Приклад

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



Нижче наведено реалізацію цього посилання:

Java




java, як перетворити рядок на int





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

>

>

Вихід

Name: ABC Age: 18 Name: XYZ Age: 22 Name has been changed to: PQR>

Пояснення

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

У методі printDetails() ми використали це ключове слово для посилання на поточний екземпляр об’єкта та друку його імені, віку та посилання на об’єкт.

У класі Main ми створили два об’єкти Person і викликали метод printDetails() для кожного об’єкта. Вихідні дані показують назву, вік і посилання на об’єкт кожного екземпляра об’єкта.

Методи використання «це» в Java

Нижче наведено способи використання ключового слова «this» у Java:

  • Використання ключового слова «this» для посилання на поточні змінні екземпляра класу.
  • Використання this() для виклику поточного конструктора класу
  • Використання ключового слова this для повернення поточного екземпляра класу
  • Використання ключового слова this як параметр методу
  • Використання ключового слова this для виклику поточного методу класу
  • Використання ключового слова this як аргумент у виклику конструктора

1. Використання ключового слова «this» для посилання на поточні змінні екземпляра класу

Java




java має наступний

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

>

>

Вихід

a = 10 b = 20>

2. Використання this() для виклику поточного конструктора класу

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

>

>

кнопка для центрування css
Вихід

Inside parameterized constructor Inside default constructor>

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

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

>

>

Вихід

a = 10 b = 20>

4. Використання ключового слова this як параметр методу

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

pyspark sql
>

>

Вихід

a = 10 b = 20>

5. Використання ключового слова «this» для виклику поточного методу класу

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

>

>

javac не розпізнається
Вихід

Inside show function Inside display function>

6. Використання ключового слова this як аргумент у виклику конструктора

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

>

>

Вихід

Value of x in Class B : 5>

Переваги використання посилання «це».

Існують певні переваги використання посилання «this» у Java, як зазначено нижче:

  1. Це допомагає розрізнити змінні екземпляра та локальні змінні з однаковими іменами.
  2. Його можна використовувати, щоб передати поточний об’єкт як аргумент іншому методу.
  3. Його можна використовувати для повернення поточного об’єкта з методу.
  4. Його можна використовувати для виклику конструктора з іншого перевантаженого конструктора в тому ж класі.

Недоліки використання посилання «це».

Хоча «цей» посилання має багато переваг, він також має певні недоліки:

  1. Надмірне використання цього може ускладнити читання та розуміння коду.
  2. Використання цього без потреби може додати програмі непотрібних витрат.
  3. Використання цього в статичному контексті призводить до помилки під час компіляції.
  4. Загалом це ключове слово є корисним інструментом для роботи з об’єктами в Java, але його слід використовувати з розумом і лише за необхідності.

Цю статтю надав Мехак Наранг і Аміт Кумар .