Αυτή η λέξη-κλειδί στην Java: Τι είναι & Πώς να το χρησιμοποιήσετε με το Παράδειγμα

Πίνακας περιεχομένων:

Anonim

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

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

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

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

Κάντε κλικ εδώ εάν το βίντεο δεν είναι προσβάσιμο

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

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

Ας συντάξουμε και τρέξουμε τον κώδικα

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

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

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

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

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

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

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

Τώρα ο συντάκτης ξέρει,

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

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

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

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

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

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

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

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

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

Παράδειγμα: Για να μάθετε τη λέξη-κλειδί "αυτό"

Βήμα 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 είναι μια αναφορά στο τρέχον αντικείμενο, του οποίου καλείται η μέθοδος.
  • Μπορείτε να χρησιμοποιήσετε τη λέξη-κλειδί "αυτό" για να αποφύγετε την ονομασία διενέξεων στη μέθοδο / κατασκευαστή της παρουσίας / αντικειμένου σας.