αυτή η λέξη-κλειδί σε Java
Σε τι είναι αυτή η λέξη-κλειδί Java?
αυτή η λέξη-κλειδί σε Java είναι μια μεταβλητή αναφοράς που αναφέρεται στο τρέχον αντικείμενο μιας μεθόδου ή ενός κατασκευαστή. Ο κύριος σκοπός της χρήσης αυτής της λέξης-κλειδιού σε Java είναι η άρση της σύγχυσης μεταξύ των χαρακτηριστικών κλάσης και των παραμέτρων που έχουν τα ίδια ονόματα.
Χρήση αυτής της λέξης-κλειδιού σε Java
Ακολουθούν διάφορες χρήσεις της λέξης-κλειδιού «αυτή» σε Java:
- Μπορεί να χρησιμοποιηθεί για την αναφορά μεταβλητής στιγμιότυπου της τρέχουσας κλάσης
- Μπορεί να χρησιμοποιηθεί για την κλήση ή την εκκίνηση του κατασκευαστή τρέχουσας κλάσης
- Μπορεί να μεταβιβαστεί ως όρισμα στην κλήση της μεθόδου
- Μπορεί να μεταβιβαστεί ως όρισμα στην κλήση του κατασκευαστή
- Μπορεί να χρησιμοποιηθεί για την επιστροφή της τρέχουσας παρουσίας κλάσης
Πατήστε εδώ εάν το βίντεο δεν είναι προσβάσιμο
Κατανοήστε «αυτή» τη λέξη-κλειδί με ένα παράδειγμα.

- Τάξη: Λογαριασμός τάξης
- Μεταβλητή Στιγμιότυπου: α και β
- Δεδομένα συνόλου μεθόδων: Για να ορίσετε την τιμή για τα a και b.
- Μέθοδος Εμφάνιση δεδομένων: Για να εμφανιστούν οι τιμές των a και b.
- Κύρια μέθοδος: όπου δημιουργούμε ένα αντικείμενο για την κλάση λογαριασμού και οι μέθοδοι κλήσης ορίζουν δεδομένα και εμφανίζουν δεδομένα.
Ας μεταγλωττίσουμε και να εκτελέσουμε τον κώδικα
Η αναμενόμενη έξοδος μας για τα Α και Β θα πρέπει να αρχικοποιηθεί στις τιμές 2 και 3 αντίστοιχα.
Αλλά η τιμή είναι 0, Γιατί; Ας ερευνήσουμε.
Στη μέθοδο Set data, τα ορίσματα δηλώνονται ως a και b, ενώ οι μεταβλητές instance ονομάζονται επίσης ως a και b.
Κατά την εκτέλεση, ο μεταγλωττιστής μπερδεύεται. Είτε το "a" στην αριστερή πλευρά του εκχωρημένου τελεστή είναι η μεταβλητή παρουσίας ή η τοπική μεταβλητή. Ως εκ τούτου, δεν ορίζει την τιμή του 'a' όταν καλούνται τα δεδομένα συνόλου μεθόδων.
Η λύση είναι η λέξη κλειδί "αυτή".
Προσθέστε και τα δύο «α» και «β» με το Java αυτή η λέξη-κλειδί ακολουθούμενη από έναν τελεστή τελείας (.).
Κατά την εκτέλεση του κώδικα όταν ένα αντικείμενο καλεί τη μέθοδο 'setdata'. Η λέξη-κλειδί "αυτό" αντικαθίσταται από τον χειριστή αντικειμένων "obj". (Δείτε την παρακάτω εικόνα).
Τώρα λοιπόν ο μεταγλωττιστής ξέρει,
- Το 'a' στην αριστερή πλευρά είναι μια μεταβλητή Instance.
- Ενώ το 'a' στη δεξιά πλευρά είναι μια τοπική μεταβλητή
The μεταβλητές αρχικοποιούνται σωστά και εμφανίζεται η αναμενόμενη έξοδος.
Ας υποθέσουμε ότι είστε αρκετά έξυπνοι για να επιλέξετε διαφορετικά ονόματα για τη μεταβλητή και τα επιχειρήματα μεθόδων παρουσίας σας.
Αλλά αυτή τη φορά, δημιουργείτε δύο αντικείμενα της κλάσης, καθένα από τα οποία καλεί τη μέθοδο συνόλου δεδομένων.
Πώς ο μεταγλωττιστής θα καθορίσει εάν υποτίθεται ότι θα λειτουργεί στη μεταβλητή στιγμιότυπου του αντικειμένου 1 ή του αντικειμένου 2.
Λοιπόν, το ο μεταγλωττιστής προσαρτά σιωπηρά η μεταβλητή παρουσίας με λέξη-κλειδί "αυτή" (εικόνα παρακάτω).
Έτσι ώστε όταν το αντικείμενο 1 καλεί τη μέθοδο συνόλου δεδομένων, μια μεταβλητή παρουσίας προσαρτάται από τη μεταβλητή αναφοράς της.
Ενώ το αντικείμενο 2 καλεί τη μέθοδο συνόλου δεδομένων, μια μεταβλητή παρουσίας του αντικειμένου 2 τροποποιείται.
Αυτή τη διαδικασία φροντίζει ο ίδιος ο μεταγλωττιστής. Δεν χρειάζεται να επισυνάψετε ρητά τη λέξη-κλειδί "αυτή", εκτός εάν υπάρχει μια εξαιρετική κατάσταση όπως στο παράδειγμά μας.
αυτή η λέξη-κλειδί σε 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 Ερωτήσεις συνέντευξης: - Πατήστε εδώ











