αυτή η λέξη-κλειδί σε Java

Σε τι είναι αυτή η λέξη-κλειδί Java?

αυτή η λέξη-κλειδί σε Java είναι μια μεταβλητή αναφοράς που αναφέρεται στο τρέχον αντικείμενο μιας μεθόδου ή ενός κατασκευαστή. Ο κύριος σκοπός της χρήσης αυτής της λέξης-κλειδιού σε Java είναι η άρση της σύγχυσης μεταξύ των χαρακτηριστικών κλάσης και των παραμέτρων που έχουν τα ίδια ονόματα.

Χρήση αυτής της λέξης-κλειδιού σε Java

Ακολουθούν διάφορες χρήσεις της λέξης-κλειδιού «αυτή» σε Java:

  • Μπορεί να χρησιμοποιηθεί για την αναφορά μεταβλητής στιγμιότυπου της τρέχουσας κλάσης
  • Μπορεί να χρησιμοποιηθεί για την κλήση ή την εκκίνηση του κατασκευαστή τρέχουσας κλάσης
  • Μπορεί να μεταβιβαστεί ως όρισμα στην κλήση της μεθόδου
  • Μπορεί να μεταβιβαστεί ως όρισμα στην κλήση του κατασκευαστή
  • Μπορεί να χρησιμοποιηθεί για την επιστροφή της τρέχουσας παρουσίας κλάσης

Πατήστε εδώ εάν το βίντεο δεν είναι προσβάσιμο

Κατανοήστε «αυτή» τη λέξη-κλειδί με ένα παράδειγμα.

αυτή η λέξη-κλειδί σε Java
Java Παράδειγμα αυτής της λέξης-κλειδιού

  1. Τάξη: Λογαριασμός τάξης
  2. Μεταβλητή Στιγμιότυπου: α και β
  3. Δεδομένα συνόλου μεθόδων: Για να ορίσετε την τιμή για τα a και b.
  4. Μέθοδος Εμφάνιση δεδομένων: Για να εμφανιστούν οι τιμές των a και b.
  5. Κύρια μέθοδος: όπου δημιουργούμε ένα αντικείμενο για την κλάση λογαριασμού και οι μέθοδοι κλήσης ορίζουν δεδομένα και εμφανίζουν δεδομένα.

Ας μεταγλωττίσουμε και να εκτελέσουμε τον κώδικα

Η αναμενόμενη έξοδος μας για τα Α και Β θα πρέπει να αρχικοποιηθεί στις τιμές 2 και 3 αντίστοιχα.

Αλλά η τιμή είναι 0, Γιατί; Ας ερευνήσουμε.

αυτή η λέξη-κλειδί σε Java

Στη μέθοδο Set data, τα ορίσματα δηλώνονται ως a και b, ενώ οι μεταβλητές instance ονομάζονται επίσης ως a και b.

αυτή η λέξη-κλειδί σε Java

Κατά την εκτέλεση, ο μεταγλωττιστής μπερδεύεται. Είτε το "a" στην αριστερή πλευρά του εκχωρημένου τελεστή είναι η μεταβλητή παρουσίας ή η τοπική μεταβλητή. Ως εκ τούτου, δεν ορίζει την τιμή του 'a' όταν καλούνται τα δεδομένα συνόλου μεθόδων.

αυτή η λέξη-κλειδί σε Java

Η λύση είναι η λέξη κλειδί "αυτή".

Προσθέστε και τα δύο «α» και «β» με το Java αυτή η λέξη-κλειδί ακολουθούμενη από έναν τελεστή τελείας (.).

αυτή η λέξη-κλειδί σε Java

Κατά την εκτέλεση του κώδικα όταν ένα αντικείμενο καλεί τη μέθοδο 'setdata'. Η λέξη-κλειδί "αυτό" αντικαθίσταται από τον χειριστή αντικειμένων "obj". (Δείτε την παρακάτω εικόνα).

αυτή η λέξη-κλειδί σε Java

Τώρα λοιπόν ο μεταγλωττιστής ξέρει,

  • Το 'a' στην αριστερή πλευρά είναι μια μεταβλητή Instance.
  • Ενώ το 'a' στη δεξιά πλευρά είναι μια τοπική μεταβλητή

The μεταβλητές αρχικοποιούνται σωστά και εμφανίζεται η αναμενόμενη έξοδος.

αυτή η λέξη-κλειδί σε Java

Ας υποθέσουμε ότι είστε αρκετά έξυπνοι για να επιλέξετε διαφορετικά ονόματα για τη μεταβλητή και τα επιχειρήματα μεθόδων παρουσίας σας.

αυτή η λέξη-κλειδί σε Java

Αλλά αυτή τη φορά, δημιουργείτε δύο αντικείμενα της κλάσης, καθένα από τα οποία καλεί τη μέθοδο συνόλου δεδομένων.

Πώς ο μεταγλωττιστής θα καθορίσει εάν υποτίθεται ότι θα λειτουργεί στη μεταβλητή στιγμιότυπου του αντικειμένου 1 ή του αντικειμένου 2.

αυτή η λέξη-κλειδί σε Java

Λοιπόν, το ο μεταγλωττιστής προσαρτά σιωπηρά η μεταβλητή παρουσίας με λέξη-κλειδί "αυτή" (εικόνα παρακάτω).

αυτή η λέξη-κλειδί σε Java

Έτσι ώστε όταν το αντικείμενο 1 καλεί τη μέθοδο συνόλου δεδομένων, μια μεταβλητή παρουσίας προσαρτάται από τη μεταβλητή αναφοράς της.

αυτή η λέξη-κλειδί σε Java

Ενώ το αντικείμενο 2 καλεί τη μέθοδο συνόλου δεδομένων, μια μεταβλητή παρουσίας του αντικειμένου 2 τροποποιείται.

αυτή η λέξη-κλειδί σε Java

Αυτή τη διαδικασία φροντίζει ο ίδιος ο μεταγλωττιστής. Δεν χρειάζεται να επισυνάψετε ρητά τη λέξη-κλειδί "αυτή", εκτός εάν υπάρχει μια εξαιρετική κατάσταση όπως στο παράδειγμά μας.

αυτή η λέξη-κλειδί σε Java με Παράδειγμα

Παράδειγμα: Για να μάθετε τη χρήση της λέξης-κλειδιού «αυτή».

Βήμα 1) Αντιγράψτε τον παρακάτω κώδικα σε ένα σημειωματάριο.

class Account{
int a;
int b;

 public void setData(int a ,int b){
  a = a;
  b = b;
 }
 public void showData(){
   System.out.println("Value of A ="+a);
   System.out.println("Value of B ="+b);
 }
 public static void main(String args[]){
   Account obj = new Account();
   obj.setData(2,3);
   obj.showData();
 }
}

Βήμα 2) Αποθηκεύστε, μεταγλωττίστε και εκτελέστε τον κώδικα.

Βήμα 3) Η τιμή των a & b εμφανίζεται ως μηδέν; Για να διορθώσετε το σφάλμα προσαρτήστε τη γραμμή # 6 & 7 με "αυτό» λέξη-κλειδί.

this.a =a;
this.b =b;

Βήμα 4) Αποθηκεύστε, μεταγλωττίστε και εκτελέστε τον κώδικα. Αυτή τη φορά, οι τιμές των a & b ορίζονται σε 2 & 3 αντίστοιχα.

Περίληψη

  • αυτό Λέξη-κλειδί σε Java είναι μια μεταβλητή αναφοράς που αναφέρεται στο τρέχον αντικείμενο.
  • Μία από τις χρήσεις αυτής της λέξης-κλειδιού στο Java είναι η αναφορά της τρέχουσας μεταβλητής παρουσίας κλάσης
  • Μπορεί να χρησιμοποιηθεί για την κλήση ή την εκκίνηση του κατασκευαστή τρέχουσας κλάσης
  • Μπορεί να μεταβιβαστεί ως όρισμα στην κλήση της μεθόδου
  • αυτός ο δείκτης μέσα Java μπορεί να μεταβιβαστεί ως όρισμα στην κλήση του κατασκευαστή
  • αυτός ο χειριστής μέσα Java μπορεί να χρησιμοποιηθεί για την επιστροφή της τρέχουσας παρουσίας κλάσης
  • αυτό μέσα Java είναι μια αναφορά στο τρέχον αντικείμενο, η μέθοδος του οποίου καλείται.
  • Μπορείτε να χρησιμοποιήσετε τη λέξη-κλειδί "αυτή" για να αποφύγετε τις διενέξεις ονομάτων στη μέθοδο/κατασκευαστή της παρουσίας/αντικειμένου σας.

Ελέγξτε το άρθρο μας για Java Ερωτήσεις συνέντευξης: - Πατήστε εδώ

Συνοψίστε αυτήν την ανάρτηση με: