Όλα όσα πρέπει να ξέρετε για Τελικό, Τέλος και Οριστικοποίηση στην Java



Αυτό το άρθρο σχετικά με το Final, Final and Finalize in Java θα σας δώσει μια πλήρη λίστα διαφορών μεταξύ των λέξεων-κλειδιών Final, Final and Finalize μαζί με πρακτικές υλοποιήσεις.

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

Σε αυτό το άρθρο θα καλύψω τα ακόλουθα θέματα:





Ας αρχίσουμε λοιπόν με την πρώτη λέξη-κλειδί μεταξύ του τελικού, τέλος και οριστικοποίησης στην Java.

Τελική λέξη-κλειδί

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



  1. Μεταβλητός τελικός
  2. Τελική μέθοδος
  3. Τελική τάξη

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

1. Μεταβλητή λήξη

Όποτε η τελική λέξη-κλειδί στο χρησιμοποιείται με μια μεταβλητή, πεδίο ή παράμετρο που σημαίνει ότι μόλις μεταφερθεί η αναφορά ή γίνει το instantiation τότε η τιμή της δεν μπορεί να αλλάξει καθ 'όλη την εκτέλεση του προγράμματος. Σε περίπτωση α χωρίς καμία τιμή έχει δηλωθεί ως τελική τότε είναι γνωστή ως κενή / μη αρχική τελική μεταβλητή και μπορεί να αρχικοποιηθεί μόνο μέσω ενός κατασκευαστή.

Ας δούμε τώρα ένα παράδειγμα.



δημόσια τάξη A {int var1 = 123 // δήλωση τελικών μεταβλητών final int var2 = 345 final int var3 // Προσπαθώντας να αρχικοποιήσετε μια κενή τελική μεταβλητή var = 555 // Σφάλμα A () {var1 = 111 // Χωρίς σφάλμα var2 = 333 // Σφάλμα μεταγλώττισης // Έναρξη μιας κενής τελικής μεταβλητής var3 = 444 // Χωρίς σφάλμα} // μεταβίβαση τελικών παραμέτρων void avg (int param1, final int param2) {param1 = 2345 // No Error param2 = 1223 // Error Compilation} // κήρυξη ακυρώσεων των τελικών πεδίων () {final int fieldVal = 300000 fieldVal = 400000 // Σφάλμα}}

Λοιπόν, όλα αυτά αφορούσαν τον τρόπο με τον οποίο η τελική λέξη-κλειδί επηρεάζει μια μεταβλητή, ας δούμε τώρα πώς μια μέθοδος επηρεάζεται από αυτήν.

2. Τελική μέθοδος

Στην Java, όποτε μια μέθοδος δηλώνεται ως τελική, δεν μπορεί να είναι από οποιαδήποτε παιδική τάξη καθ 'όλη την εκτέλεση του προγράμματος.

Ας δούμε ένα παράδειγμα.

// ΤΕΛΙΚΗ ΜΕΘΟΔΟΣ κλάση Α {final void method_abc () {System.out.println ('This is a Final Method and cannot be overrided')} void method_xyz () {System.out.println ('Αυτή είναι μια κανονική μέθοδος και μπορεί να παρακαμφθεί ')}} η κλάση Β επεκτείνει A {void method_abc {// Compile Time Error} void method_xyz () {System.out.println (' This is a overrided method in class B ')}}

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

3. Τελική τάξη

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

Ας δούμε ένα παράδειγμα.

// Τελικό μάθημα τελικής κλάσης A {// class body} Η κλάση B επεκτείνει A {// Σφάλμα σύνταξης // class body}

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

Τέλος μπλοκ

Στην Java, είναι τελικά ένα προαιρετικό μπλοκ που χρησιμοποιείται για το . Σε γενικές γραμμές προηγείται ένα μπλοκ δοκιμής. Τέλος, το μπλοκ χρησιμοποιείται για την εκτέλεση ενός σημαντικού κώδικα, όπως η εκκαθάριση πόρων ή η απελευθέρωση της χρήσης μνήμης κ.λπ. Ένα μπλοκ επιτέλους θα εκτελεστεί ανεξάρτητα από το γεγονός εάν χειρίζεται μια εξαίρεση ή όχι. Έτσι, η τυλίγοντας τους κωδικούς εκκαθάρισης σε τελικά μπλοκ θεωρείται καλή πρακτική. Μπορείτε επίσης να το χρησιμοποιήσετε με ένα μπλοκ δοκιμής χωρίς να χρειαστείτε κανένα μπλοκ σύλληψης μαζί του.

Ας δούμε τώρα ένα παράδειγμα του ίδιου.

τάξη Α {δημόσια στατική κενή κενή (String args []) {try {System.out.println ('Try Block') ρίξτε νέα Exception ()} catch (Exception e) {System.out.println ('Catch Block') } τέλος {System.out.println ('Τέλος μπλοκ')}}}

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

Οριστικοποίηση της μεθόδου

Η οριστικοποίηση είναι μια προστατευμένη μη στατική μέθοδος που ορίζεται στην κατηγορία αντικειμένων και έτσι είναι διαθέσιμη για οποιοδήποτε και όλα τα αντικείμενα στην Java.Αυτή η μέθοδος είναικλήθηκε από τον συλλέκτη απορριμμάτων πριν καταστραφεί ένα αντικείμενο.Όπως μερικές φορές,ένα ίσως χρειαστεί να ολοκληρώσετε κάποια σημαντική εργασία, όπως το κλείσιμο μιας ανοικτής σύνδεσης, την απελευθέρωση ενός πόρου, κ.λπ. πριν καταστραφεί. Εάν αυτές οι εργασίες δεν έχουν ολοκληρωθεί, ενδέχεται να μειωθεί η αποτελεσματικότητα του προγράμματος. Έτσι, τοο συλλέκτης απορριμμάτων το καλεί για αντικείμενα που δεν αναφέρονται πλέον και έχουν επισημανθεί για συλλογή απορριμμάτων.

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

ταξινόμηση ενός πίνακα στο πρόγραμμα c ++

Ας δούμε ένα παράδειγμα του ίδιου.

δημόσια τάξη Α {public void finalize () ρίχνει Throwable {System.out.println ('Το αντικείμενο έχει καταστραφεί από τον Συλλέκτη απορριμάτων')} δημόσιο στατικό κενό (String [] args) {Edureka test = νέο Edureka () test = null System.gc ()}}

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

Πίνακας σύγκρισης - Τελικός vs Τέλος vs Οριστικοποίηση λέξεων-κλειδιών σε Java

Παράγοντας Τελικός Τελικά Οριστικοποιώ
Ορισμός Το Final είναι μια λέξη-κλειδί και χρησιμοποιείται ως τροποποιητής πρόσβασης στην JavaΤέλος είναι ένα μπλοκ στην Java που χρησιμοποιείται για το Exception HandlingΤο Finalize είναι μια μέθοδος στην Java που χρησιμοποιείται για τη συλλογή απορριμμάτων
Εφαρμογή Το Final in Java χρησιμοποιείται με μεταβλητές, μεθόδους και τάξεις για να ορίσετε δικαιώματα πρόσβασηςΤέλος χρησιμοποιείται το μπλοκ μαζί με ένα μπλοκ δοκιμής και σύλληψηςΗ μέθοδος οριστικοποίησης σε Java χρησιμοποιείται με αντικείμενα που δεν χρησιμοποιούνται πλέον
Λειτουργία Η τελική μεταβλητή στην Java είναι μια σταθερά της οποίας η τιμή δεν μπορεί να αλλάξει μόλις εκχωρηθεί.

Η τελική μέθοδος στην Java δεν μπορεί να παρακαμφθεί από τις παιδικές τάξεις.

Η τελική τάξη στην Java δεν μπορεί να κληρονομηθεί από καμία παιδική τάξη.

Τέλος, το μπλοκ στην Java βοηθά στον καθαρισμό των πόρων που έχουν χρησιμοποιηθεί στο μπλοκ δοκιμήςΗ μέθοδος οριστικοποίησης βοηθά στον καθαρισμό των δραστηριοτήτων του αντικειμένου προτού καταστραφεί από τον συλλέκτη απορριμμάτων
Εκτέλεση Εκτελείται όταν καλείται από τον μεταγλωττιστήΕκτελείται αμέσως μετά την εκτέλεση του block-catchΕκτελεί λίγο πριν καταστραφεί ένα αντικείμενο

Ελπίζω μέσω αυτού του Τελικού, Τέλος και Οριστικοποίησης στην Ιάβα, κατάφερα να ξεκαθαρίσω τις έννοιες και σας βοήθησα να προσθέσετε αξία στις γνώσεις σας.

Εάν βρήκατε αυτό το άρθρο σχετικά με το «Τελικό, Τέλος και Οριστικοποίηση στην Java ' σχετικό, δείτε το από την Edureka, μια αξιόπιστη διαδικτυακή εταιρεία εκμάθησης με δίκτυο περισσότερων από 250.000 ικανοποιημένων μαθητών σε όλο τον κόσμο. Έχετε μια ερώτηση για εμάς; Παρακαλώ αναφέρετέ το στην ενότητα σχολίων αυτού Τελικός, Τέλος και Οριστικοποίηση σε Java και θα επικοινωνήσουμε μαζί σας.